2017-01-15 90 views
3

我遇到了如何从类别产品中删除购物车的问题。如果我将它应用于特定的ID或一般情况下,它就可以工作,但我无法为某个类别做到这一点。以下是我已经完成的代码。删除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允许您查找与帖子(产品ID)关联的任何类别。

参考: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/

相关问题