【问题标题】:Woocommerce hide add to cart button EXCEPT for variable productsWoocommerce 隐藏添加到购物车按钮,可变产品除外
【发布时间】:2021-02-12 17:27:12
【问题描述】:

我试图在 woocommerce 中为除我拥有的可变产品之外的所有产品隐藏添加到购物车按钮。我尝试了以下方法,它留下了变量选择选项(这是我想要的),但它隐藏了添加到购物车按钮(我不想要)。

add_filter( 'woocommerce_is_purchasable', '__return_false' ); 

add_action( 'woocommerce_single_product_summary', 'hide_add_to_cart_button_variable_product', 1, 0 );
function hide_add_to_cart_button_variable_product() { 

remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20);
}

有没有办法做到这一点?

我所有的产品都是简单的产品,除了这个单变量产品,所以也许有一个功能可以隐藏除变量之外的所有简单产品的购物车按钮?

【问题讨论】:

    标签: php woocommerce


    【解决方案1】:
    add_action('woocommerce_single_product_summary', 'wp66176371_remove_product_description_add_cart_button', 1 );
    function wp66176371_remove_product_description_add_cart_button() {
        global $product;
        if ( !empty($product) && $product->is_type( 'simple' ) ) {
            remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
        }
    }
    

    【讨论】:

    • 我将 is_type('variable') 更改为 is_type('simple') 并且效果很好。谢谢
    • 哦,你是对的,我把你的问题理解错了,现在已经解决了:)
    • 我添加了另一个变量产品,所以现在我的需求已经改变。我需要按产品 ID 隐藏购物车按钮。我试图将您的代码更改为 $product->get_id( '414' ) ) 但它不起作用。是否可以隐藏 ID 数组的购物车按钮?
    • 你可以使用 if(in_array($product->get_id(), array(IDs)))
    【解决方案2】:

    我认为您可以只编辑 add-to-cart 目录中的 simple.php 模板文件,这样它就不会显示简单产品的按钮。

    【讨论】:

    • 是的,但我真的需要这样做 functions.php 有几个原因。
    猜你喜欢
    • 2016-04-05
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-28
    • 2021-07-11
    相关资源
    最近更新 更多