Сократить длинное описание товара в Woocommerce

Я нашел следующий код из этой ветки ответов, но он применяется только под названием продукта. Так как же можно обратиться к подробному описанию товара.

add_action( 'woocommerce_after_shop_loop_item_title', 'shorten_product_excerpt', 35 );
function shorten_product_excerpt()
{
global $post;
$limit = 14;
$text = $post->post_excerpt;
if (str_word_count($text, 0) > $limit) {
$arr = str_word_count($text, 2);
$pos = array_keys($arr);
$text = substr($text, 0, $pos[$limit]) . '...';
// $text = force_balance_tags($text); // may be you dont need this…
}
echo '<span class="excerpt"><p>' . $text . '</p></span>';
}

1

Решение

На отдельных страницах продукта Woocommerce подробное описание отображается на вкладке «Описание». Если вы посмотрите на исходный код single-product/tabs/description.php шаблон, это использовать the_content() Функция WordPress для отображения этого длинного описания.

Так что вы можете использовать the_content специальный крючок для фильтра WordPress, чтобы уменьшить описание продукта:

add_filter( 'the_content', 'shorten_product_long_descrition', 20 );
function shorten_product_long_descrition( $content ){
// Only for single product pages
if( ! is_product() ) return $content;

// Set the limit of words
$limit = 14;

if (str_word_count($content, 0) > $limit) {
$arr = str_word_count($content, 2);
$pos = array_keys($arr);
$text = '<p>' . substr($content, 0, $pos[$limit]) . '...</p>';
$content = force_balance_tags($text); // needded
}
return $content;
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.

До:

введите описание изображения здесь

После:

введите описание изображения здесь

Аналогичный: Ограничить длину краткого описания товара в Woocommerce

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]