隐藏特定产品的WooCommerce产品说明页面上的添加到购物车按钮

时间:2016-08-09 作者:t2m

我想在woocommerce产品描述页面上隐藏产品id为1234的特定产品的“添加到购物车”按钮。

以下代码隐藏了所有产品的woocommerce产品描述页面上的“添加到购物车”按钮:

function remove_product_description_add_cart_button(){
    remove_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_add_to_cart\', 30 );
    }
add_action(\'init\',\'remove_product_description_add_cart_button\');
但是,当我尝试使用以下代码为产品id为1234的特定产品应用上述remove\\u操作时,它不起作用?

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 == 1234){
    remove_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_add_to_cart\', 30 );
    }
}
add_action(\'init\',\'remove_product_description_add_cart_button\');
有人能帮忙吗?

2 个回复
最合适的回答,由SO网友:Max 整理而成

你是在早早地用钩子钩住。Wordpress完全可以删除该操作,但它还不知道产品/帖子ID是什么。您可以这样重写代码的最后一行:

add_action(\'wp\',\'remove_product_description_add_cart_button\');
按时间顺序排列的Wordpress操作-https://codex.wordpress.org/Plugin_API/Action_Reference

SO网友:suthanalley

通过在woocommerce中添加此按钮,您可以轻松地从产品页面中删除“添加到购物车”按钮。php(位于wp内容/插件/woocommerce)

    function WpBlog() {
    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\');
    return WooCommerce::instance();
    }
添加此代码后,重新加载页面,您将看到按钮已隐藏。

您还可以在函数中使用此代码从特定产品页面中删除“添加到购物车”按钮。php(位于主题文件夹中):

    add_filter(\'woocommerce_is_purchasable\', \'wpblog_specific_product\');
    function wpblog_specific_product($purchaseable_product_wpblog, $product) 
    {
    return ($product->id == specific_product_id (512) ? false : 
    $purchaseable_product_wpblog);
    }
作为参考,您可以查看详细信息,以便轻松隐藏和显示“添加到购物车”按钮https://www.wpblog.com/add-to-cart-button-in-woocommerce-store/

相关推荐