Wordpress Woocommerce使产品失效,但并非无处不在

Wordpress Woocommerce使产品失效,但并非无处不在,wordpress,woocommerce,Wordpress,Woocommerce,我有一些我不想以传统方式购买的产品 他们是在一个“产品箱”中,客户必须填写 您可以在这里看到它的工作原理: 所有这些产品都是1欧元的产品 我试着用这个代码让他们无法购买: function remove_add_to_cart_fruits_confits( $purchasable, $product ){ if( $product->get_price() == 1 ) $purchasable = false; return $purchasable

我有一些我不想以传统方式购买的产品

他们是在一个“产品箱”中,客户必须填写

您可以在这里看到它的工作原理:

所有这些产品都是1欧元的产品

我试着用这个代码让他们无法购买:

function remove_add_to_cart_fruits_confits( $purchasable, $product ){
    if( $product->get_price() == 1 )
        $purchasable = false;
    return $purchasable;
}
add_filter( 'woocommerce_is_purchasable', 'remove_add_to_cart_fruits_confits', 10, 2 );
但是我们不能将它们添加到产品包装箱中,包装箱上写着“缺货”


我怎样才能通过将它们添加到此框中来购买它们?

我找到了一个有效的解决方案。以下是片段:

// remove add to cart button conditionally
add_action('woocommerce_single_product_summary', 'remove_product_add_cart_button', 1 );
function remove_product_add_cart_button() {
    global $product;
    if ( $product->is_type( 'simple' ) && $product->get_price() == 1 ) {
        remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
    }
}

我已经测试过,效果很好。

如果您看到信息“缺货”,可能取决于包装箱中某个产品的库存。它是如何管理的?您是否使用插件来执行此操作?如果产品不可用,它是显示在选项中还是隐藏?这可能不取决于价格。这些产品都有库存,我甚至尝试手动库存到500。很明显,当我添加此代码使其无法购买时,会显示缺货消息。您好,谢谢您的提示。但这不会有什么区别,价格为1美元的产品对盒装产品无效吗?另外,我的盒子是一个“产品”帖子类型,而不是“盒子产品”。通过查看两个产品页面,您会注意到:confiserie-lilamand.com/produit/ballotins-a-composer-500g是一个
box\u产品
产品。另一个confiserie-lilamand.com/produit/kiwi是一个
简单的
产品。此时,可以执行另一种类型的验证。随着价格控制,产品类型也发生了变化。请查看我更新的代码。感谢您的更新,结果与之前相同!“缺货”:((你可以现场查看,我不知道它是一个产品“盒子”。感谢这条信息,我应该找到一个解决方案,在盒子页面上,如果不禁用那些“简单”的产品,它是“唯一”的。难道不可能做出类似“如果(!is_类型('product_-box')){}的东西吗?如果您试图暂时从functions.php或plugin中删除代码段,是否仍会收到“缺货”消息?