2017-01-26 1 views
1

В WooCommerce Я пытаюсь добавить короткое описание продукта для определенной категории в позициях корзины.Отображение короткого описания для определенной категории товаров в корзине и в листах выписки

this code Я нашел, что добавляет краткое описание продукта для всех продуктов в корзине, но я не могу понять, как сократить его до отображения только на определенных продуктах:

add_filter('woocommerce_get_item_data', 'wc_checkout_description_so_27900033', 10, 2); 

function wc_checkout_description_so_27900033($other_data, $cart_item) { 
    $post_data = get_post($cart_item['product_id']); 
    echo $post_data - > post_excerpt; 
    return $other_data; 
} 

Как я могу сделать этот код отображает краткое описание только для определенной категории продукта?

Thanks

ответ

1

Я немного изменил и актуализировал ваш код. Затем, чтобы настроить таргетинг на категорию продукта, вы должны использовать условную функцию WordPress has_term(). Тогда вы должны определить в функции Вашего идентификатор категории, пробковой или имя (или массив значений) ...

Так вот, что функциональный код для определенной категории продукции:

add_filter('woocommerce_get_item_data', 'filter_woocommerce_get_item_data', 10, 2); 
function filter_woocommerce_get_item_data($item_data, $cart_item) { 

    // Define HERE your Category ID, Slug or Name (or an array of values) 
    $category = 'Clothing'; // Slug category 

    $item_id = $cart_item['product_id']; // The Item Id 
    $taxonomy = 'product_cat'; // Taxonomy for Product categories 

    // Product Category condition Below 
    if(has_term($category, $taxonomy, $item_id)): 

     $product = wc_get_product($item_id); // Getting an instance of the Product object 
     $description = $product->post->post_content; // Product Description 
     $short_description = $product->post->post_excerpt; // Product Short Description 

     // Display Short description for this product category 
     echo '<span class="item-description">'. $short_description.'<span>'; 

    endif; 

    // Return the $item data 
    return $item_data; 
} 

Код идет в файле function.php вашей активной дочерней темы (или темы), а также в любом файле плагина.

Код проверен и работает.

Я ввел краткое описание в тег span. Таким образом вы можете настроить таргетинг на него с помощью некоторых пользовательских правил CSS для персонализации отображения.

+0

Спасибо Loic, я ценю вашу помощь в этом! – Larsonaa

Смежные вопросы