禁用 WooCommerce 中一系列产品 ID 的添加到购物车按钮 [英] Disable add to cart button for an array of products IDs in WooCommerce
本文介绍了禁用 WooCommerce 中一系列产品 ID 的添加到购物车按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在 WooCommerce 中,我试图禁用一系列产品 ID 的添加到购物车按钮,但我找不到问题.
In WooCommerce, I'm trying to disable add to cart button for an array of product IDs but I can't find the problem.
我正在尝试使用此功能:
I am trying to use this function:
add_filter('woocommerce_is_purchasable', 'my_woocommerce_is_purchasable', 10, 2);
function my_woocommerce_is_purchasable($is_purchasable, $product) {
$id=check(); // This function return an array of IDs
foreach ($id as $id_p){
return ($product->id = $id_p ? false : $is_purchasable);
}
}
这是我的check()
函数代码(update):
function check() {
$listproduit = get_woocommerce_product_list();
$score = get_score_user();
foreach ($listproduit as $products) {
if ($products[1] >= 5000) {
$listid = $products[0];
return $listid;
// print_r($listid);
}
}
return $listid;
}
但这不起作用.
我做错了什么?
谢谢
推荐答案
针对 WooCommerce 3+ 更新
使用 in_array()
代替:
add_filter( 'woocommerce_variation_is_purchasable', 'filter_is_purchasable', 10, 2 );
add_filter('woocommerce_is_purchasable', 'filter_is_purchasable', 10, 2);
function filter_is_purchasable($is_purchasable, $product ) {
if( in_array( $product->get_id(), not_purchasable_ids() ) {
return false;
}
return is_purchasable;
}
其中 not_purchasable_ids()
是返回非购买产品 ID 数组的函数(此处简化):
Where not_purchasable_ids()
is the function that returns an array of non purchasable products Ids (here simplified):
function not_purchasable_ids() {
return array( 37, 53, 128, 129 );
}
此代码位于您的活动子主题(或活动主题)的 functions.php 文件中.经过测试并有效.
这篇关于禁用 WooCommerce 中一系列产品 ID 的添加到购物车按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文