2017-01-15 3 views
3

У меня есть вопрос, как удалить корзину из продукта категории. Он отлично работает, если я применяю его к определенному идентификатору или вообще в целом, но я не могу сделать это для категории. Ниже мой код, который я сделал относительно этого.Удалить корзину в Woocommerce для определенной категории товаров

Кроме того, я изо всех сил пытаюсь применить этот же шаблон к разделу «Связанные статьи», поэтому любая помощь будет оценена по достоинству.

спасибо.

//function for deleting .... 

function remove_product_description_add_cart_button(){ 

    global $product; 

    //Remove Add to Cart button from product description of product with id 1234  

    if ($product->id == 188){ 

    remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30); 

    } 

add_action('wp','remove_product_description_add_cart_button'); 

} 

ответ

4

Чтобы заставить его работать с категорией продукта вы можете изменить значение WordPress условной функции has_term() таким образом:

//function for deleting .... 
function remove_product_description_add_cart_button(){ 
    global $product; 

    // Set HERE your category ID, slug or name (or an array) 
    $category = 'categoryslug'; 

    //Remove Add to Cart button from product description of product with id 1234  
    if (has_term($category, 'product_cat', $product->id)) 
     remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30); 

} 
add_action('wp','remove_product_description_add_cart_button'); 

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

1

Вы попробовать что-то вроде этого:

function remove_product_description_add_cart_button(){ 

global $product; 

    $termsOfProduct = wp_get_post_terms($product->id, 'product_cat'); 

    if (in_array("CatToFind", $termsOfProduct)) { 

    remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30); 

    } 

add_action('wp','remove_product_description_add_cart_button'); 

} 

Категория продуктов в WooCommerce просто термины. Wp_get_post_terms позволяет находить любые категории, связанные с сообщением (идентификатор продукта).

Ссылка: https://codex.wordpress.org/Function_Reference/wp_get_post_terms

0

Вы можете попробовать что-то вроде этого

function western_custom_buy_buttons(){ 

    $product = get_product(); 

    if (has_term('category1', 'product_cat')){ 

    // removing the purchase buttons 

          remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart'); 



    remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30); 

    remove_action('woocommerce_simple_add_to_cart', 'woocommerce_simple_add_to_cart', 30); 

    remove_action('woocommerce_grouped_add_to_cart', 'woocommerce_grouped_add_to_cart', 30); 

    remove_action('woocommerce_variable_add_to_cart', 'woocommerce_variable_add_to_cart', 30); 

    remove_action('woocommerce_external_add_to_cart', 'woocommerce_external_add_to_cart', 30); 

    } 

} 

add_action('wp', 'western_custom_buy_buttons'); 

Артикул: https://www.themelocation.com/how-to-remove-add-to-cart-button-from-a-certain-category-woocommerce/

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