首页 > 解决方案 > 根据 WooCommerce 产品自定义库存状态禁用添加到购物车按钮

问题描述

目前在 woocommerce 中,如果库存状态为 ,则添加到购物车按钮已禁用out of stockDiscontinued product我使用标签添加了新的库存状态woocommerce_product_stock_status_options,现在我正在寻找一种方法来处理这个产品,就像它缺货一样。

因为我认为最好将不再生产的产品与在另一家商店生产和提供但没有库存的产品分开。

标签: phpwordpresswoocommerceproductstock

解决方案


您可以使用以下内容来禁用基于自定义库存状态的添加到购物车按钮(您将在其中替换custom_status_slug为自定义状态块)

add_filter('woocommerce_is_purchasable', 'filter_is_purchasable_callback', 10, 2 );
add_filter('woocommerce_variation_is_purchasable', 'filter_is_purchasable_callback', 10, 2 );
function filter_is_purchasable_callback( $purchasable, $product ) {
    if ( $product->get_stock_status() === 'custom_status_slug' ) {
        return false;
    }

    return $purchasable;
}

代码位于活动子主题(或活动主题)的 functions.php 文件中。测试和工作。


推荐阅读