• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Решено Изменение вывода шорткода

No48

Новичок
Доброго времени суток.

Требуется помощь.

Есть вывод шорткода (несколько):
Код:
[best_selling_products per_page="3" columns="3"]

[product_attribute attribute='svojstva' filter='besplatnaya-dostavka' per_page="3" columns="3"]
[product_attribute attribute='svojstva' filter='skidki' per_page="3" columns="3"]
[product_attribute attribute='svojstva' filter='novinki' per_page="3" columns="3"]

Суть вопроса в том, как и где изменить выводимый контент?

К примеру добавить краткое описание товара, количество отзывов...
 

Вложения

  • 83388A7980BAA9.png
    83388A7980BAA9.png
    176 KB · Просмотры: 18

D&B

Администратор
Команда форума
Местный
Шорткоды тут не помогут. Нужно изменять вывод товаров в коде вашей темы для шаблонов WC, ну или искать подходящую тему.
 

No48

Новичок
В общем решение описанной выше проблемы:

В файлах template:

content-product.php
для получения описания после строчки:
Код:
 do_action( 'woocommerce_shop_loop_item_title' );
добавляем код:
Код:
?>
<p class="product-description">
<?php
$description = trim(strip_tags($post->post_excerpt)); // Get product short description
if($description) {
  // Trim the length of the string up to 100 characters and add three points
  if(mb_strlen($description) > 100)
   $description =substr($description, 0, strpos($description, ' ', 100)).'...';
  $description = strip_tags(apply_filters( 'woocommerce_short_description', $description ));
} else {
  $description = __('Description is not available', 'woocommerce');
}
echo $description; ?>
</p>
<?php

rating.php
для полуения количества отзывов после строчки:
Код:
if ( get_option( 'woocommerce_enable_review_rating' ) === 'no' )
return;
?>
добавляем код:
Код:
<span class="product-reviews">
<?php
if($product->post->comment_count)
  echo $product->post->comment_count.' '.__('comments', 'woocommerce');
else
  _e('no comments', 'woocommerce');
?>
</span>

Вуаля - получаем результат как на картинке.
 
Последнее редактирование:

Stork.71

Гуру
Местный
по первому куску - если у нас есть do_action( 'woocommerce_shop_loop_item_title' ); , то лучше не править шаблон, а повесить нужный кусок кода на этот хук с поздним приоритетом (30, 40, 50...).
подозреваю, что в случае со вторым куском се делается так же, только надо найти, на какой хук его подцепить.
 
Сверху Снизу