【问题标题】:Disallow purchases from virtual products in WooCommerce禁止在 WooCommerce 中购买虚拟产品
【发布时间】:2021-02-08 03:58:26
【问题描述】:

我正在尝试从类别页面中删除不可购买产品的添加到购物车按钮。

这是我当前的代码,我已经把它放在了我的子主题的functions.php文件中;

function buy_filter()
{
    if ( ! is_product() ) return;
    $product_id=get_the_ID();
    $product = wc_get_product($product_id);
    if ($product->is_virtual('yes'))

    if ($product->is_virtual('yes'))
    {
        add_filter( 'woocommerce_is_purchasable', '__return_false');
    }
}

add_action ('wp', 'buy_filter');

我已设法从各个产品页面中删除该按钮,但我仍然无法将其从类别页面中删除。现在,当我检查按钮时显示以下代码:

<a href="?add-to-cart=16972" data-quantity="1" class="button product_type_simple add_to_cart_button
ajax_add_to_cart" data-product_id="16972" data-product_sku="604544617405" aria-label=
"Add “Federal -  9MM Syntech, 115gr” to your cart" rel="nofollow">Add to cart</a>

是否需要以其他方式禁用此按钮?

我确实需要删除此按钮,因为它是我们只想在我们的商店中销售的产品,但我们希望人们知道我们也有该产品的库存。

下面是它目前的样子,以及我想要去的地方。理想情况下,我希望按钮完全消失,但如果这样更容易,我肯定会更换阅读更多按钮。

【问题讨论】:

    标签: php wordpress woocommerce product virtual


    【解决方案1】:

    要从任何地方删除它(在单个页面和类别页面上)直接使用过滤器,将您的代码替换为:

    add_filter( 'woocommerce_variation_is_purchasable', 'filter_virtual_products', 10, 2 );
    add_filter( 'woocommerce_is_purchasable', 'filter_virtual_products', 10, 2 );
    function filter_virtual_products( $is_purchasable, $product )
    {
        if ( $product->is_virtual('yes') ) {
            $is_purchasable = false;
        }
        return $is_purchasable;
    }
    

    代码进入活动子主题(或活动主题)的functions.php 文件中。经过测试并且可以工作。

    【讨论】:

    • 非常感谢,这让我头疼了好几个星期!
    【解决方案2】:

    请在您的 functions.php 文件中尝试此代码

    add_filter('woocommerce_is_purchasable', 'woocommerce_cloudways_purchasable');
    function woocommerce_cloudways_purchasable($cloudways_purchasable, $product) {
    return ($product->id == your_specific_product_id (like 22) ? false : $cloudways_purchasable);
    }
    

    来源:https://www.cloudways.com/blog/how-to-remove-hide-or-disable-add-to-cart-button-in-woocommerce/

    或使用此插件无需任何编码即可解决您的问题。

    https://wordpress.org/plugins/non-purchasable-woocommerce-products/

    【讨论】:

      猜你喜欢
      • 2019-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-16
      • 2020-11-29
      • 2019-01-27
      • 2014-11-15
      • 1970-01-01
      相关资源
      最近更新 更多