devellopah
@devellopah

Как в Woocommerce поменять вёрстку цены товара в цикле?

Как поменять это
<span class="price">
  <del>
    <span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">£</span>3.00</span>
  </del>
  <ins>
    <span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">£</span>2.00</span>
  </ins>
</span>


на это

<div class="product_price">£3.00<span>£2.00</span></div>
  • Вопрос задан
  • 2868 просмотров
Решения вопроса 1
MikeKosulin
@MikeKosulin
Вообще не стоит так делать, но если уж прям очень хочется

В functions.php или плагин Code Snippets добавить
add_filter( 'woocommerce_get_price_html', 'override_default_price_html', 100, 2 );
function dw_change_default_price_html( $price,$product ){
    if ( $product->price > 0 ) {
      if ( $product->price && isset( $product->regular_price ) ) {
        $from = $product->regular_price;
        $to = $product->price;
        return ( ( is_numeric( $to ) ) ? woocommerce_price( $to ) : $to ) .'<span>'. ( ( is_numeric( $from ) ) ? woocommerce_price( $from ) : $from ) .' </span>';
      } else {
        $to = $product->price;
        return '<span>' . ( ( is_numeric( $to ) ) ? woocommerce_price( $to ) : $to ) . '</span>';
      }
   } else {
     return __( 'Free!', 'woocommerce' );
   }
}

В дочерней теме в файле templates/loop/price.php
Поменять
<span class="price"><?php echo $price_html; ?></span>
на
<span class="product_price"><?php echo $price_html; ?></span>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы