Woocommerce - показать выдержку из цикла товаров - PullRequest
0 голосов
/ 09 июня 2018

Мне нужна небольшая помощь, чтобы краткое описание товара отображалось в цикле товаров (архив).Я добавил следующий код в файл functions.php темы:

add_action( 'woocommerce_after_shop_loop_item_title', 'output_product_excerpt', 20 ); 
    function output_product_excerpt() { 
    global $post; 
    echo '<div class="my-excerpt">'.wp_trim_words($post->post_excerpt,10).'</div>';
}

Он отлично работает, но применяется ко всем продуктам.Что я могу добавить, чтобы он работал только для категории?

1 Ответ

0 голосов
/ 09 июня 2018

Вы должны получить категории продуктов для продукта, используя get_terms, выбрасывая их в массив и проверяя, содержит ли массив вашу конкретную категорию.

По сути, это будет выглядеть так:

add_action( 'woocommerce_after_shop_loop_item_title', 'output_product_excerpt', 20 ); 
function output_product_excerpt() { 
    global $post; 

    //get the individual products' categories and put them in an array
    $terms = wp_get_post_terms( $post->ID, 'product_cat' );
    foreach ( $terms as $term ) {
        $product_categories[] = $term->term_id;
    };

    //check if the array contains your specific $category_id that you are targeting
    if ( is_shop() && in_array( $category_id, $product_categories )) {
        echo '<div class="my-excerpt">'.wp_trim_words($post->post_excerpt,10).'</div>';
    }
}
...