【问题标题】:Hide "Add to cart" button when the product price is zero产品价格为零时隐藏“加入购物车”按钮
【发布时间】:2017-12-08 13:48:49
【问题描述】:

我有一个基于活动的 WordPress 网站,我使用 WooCommerce 在该网站上出售门票。有没有办法隐藏成本为零的产品的“添加到购物车”按钮?

谢谢。

【问题讨论】:

    标签: wordpress woocommerce


    【解决方案1】:

    您在主题function.php 中编写此代码

    function remove_add_to_cart_on_0 ( $purchasable, $product ){
            if( $product->get_price() == 0 )
                $purchasable = false;
            return $purchasable;
        }
        add_filter( 'woocommerce_is_purchasable', 'remove_add_to_cart_on_0', 10, 2 );
    

    【讨论】:

    • 它对我不起作用。对于零成本事件,“添加到购物车”按钮仍然存在
    • @TaniyaSilhi 将优先级改为 99 而不是 10 并再次尝试此代码工作正常
    • 我正在使用 Woocommerce 销售门票。我添加了零成本的票价,但它仍然显示购物车选项
    【解决方案2】:

    这段代码在function.php中使用这两个过滤器就像魅力一样。

    add_filter('remove_add_to_cart', 'my_woocommerce_is_purchasable', 10, 2);
    function remove_add_to_cart($is_purchasable, $product) {
            if( $product->get_price() == 0 )
                $is_purchasable = false;
                return $purchasable;   
    }
    
    
    function remove_add_to_cart_on_0 ( $purchasable, $product ){
            if( $product->get_price() == 0 )
                $purchasable = false;
            return $purchasable;
        }
    add_filter( 'woocommerce_is_purchasable', 'remove_add_to_cart_on_0', 10, 2 );
    

    【讨论】:

    • 第二个功能是做所有的工作。第一个函数可以删除,并且 add_filter 函数的参数顺序不正确。 “my_woocommerce_is_purchasable”也不是有效的过滤器名称。
    【解决方案3】:

    根据文档,这可能是一个合适的解决方案

    woocommerce_is_purchasable – 过滤器 函数名称:WC_Product::is_purchasable is_purchasable() — 如果无法购买产品,则返回 false。 https://woocommerce.wp-a2z.org/oik_api/wc_productis_purchasable/

    function remove_add_to_cart_on_0 ( $is_purchasable, $product ){
        if( $product->get_price() == 0 ) {
            return false; }
        else {
            return $is_purchasable; }
    }
    add_filter( 'woocommerce_is_purchasable', 'remove_add_to_cart_on_0', 10, 2 );
    

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多