Php 通过WooCommerce产品设置中的自定义复选框禁用“添加到购物车”按钮
我们希望防止某些即将推出的产品添加到购物车 我们希望有一个复选框来选择我们想要阻止添加到购物车的特定产品。我们现在有了复选框和保存代码 我还发现了这个:和 我不确定,什么是防止特定产品添加到购物车的最佳方法。 有人建议最好的方法是什么吗Php 通过WooCommerce产品设置中的自定义复选框禁用“添加到购物车”按钮,php,wordpress,woocommerce,product,custom-fields,Php,Wordpress,Woocommerce,Product,Custom Fields,我们希望防止某些即将推出的产品添加到购物车 我们希望有一个复选框来选择我们想要阻止添加到购物车的特定产品。我们现在有了复选框和保存代码 我还发现了这个:和 我不确定,什么是防止特定产品添加到购物车的最佳方法。 有人建议最好的方法是什么吗 //将新复选框添加到产品编辑页面(常规选项卡) 添加_操作(“woocommerce_product_options_general_product_data”、“即将推出的_复选框_to_products”); 函数\u复选框\u到\u产品(){ woocom
//将新复选框添加到产品编辑页面(常规选项卡)
添加_操作(“woocommerce_product_options_general_product_data”、“即将推出的_复选框_to_products”);
函数\u复选框\u到\u产品(){
woocommerce_wp_复选框(数组(
“id'=>“自定义”,
“类”=>“”,
'标签'=>'禁止添加到购物车'
)
);
}
// -----------------------------------------
//通过自定义字段保存复选框
添加操作('save_post','save_coming_checkbox_to_post_meta');
功能保存即将到来的复选框到发布元($product\U id){
if(已定义('DOING_AUTOSAVE')&&DOING_AUTOSAVE)
返回;
如果(isset($\u POST['custom\u comming'])){
更新发布元($product_id,‘custom_即将发布’,$发布[‘custom_即将发布’]);
}否则删除“发布”元($product_id,“custom_即将发布”);
}
// -----------------------------------------
//防止添加到购物车
- 通过代码中添加的注释标记进行解释
//添加复选框
功能操作\商业\产品\选项\库存\产品\数据(){
//复选框
woocommerce_wp_复选框(数组(
'id'=>'\u阻止\u添加\u到\u购物车\u按钮',//必需,它是存储值的元\u键(是否选中)
'label'=>\('My label','woocommerce'),//编辑器标签中的文本
'desc_tip'=>false,//true或false,直接显示描述或作为工具提示显示
'description'=>\('protect add to cart','woocommerce')//在这里提供一些有用的信息
) );
}
添加操作('woocommerce\u product\u options\u inventory\u product\u data','action\u woocommerce\u product\u options\u inventory\u product\u data',10,0);
//保存字段
功能操作\商业\管理\流程\产品\对象($product){
//是还是不是
$checkbox=isset($\u POST[“阻止”\u添加到购物车按钮])?“是”:“否”;
//更新元
$product->update_meta_数据(“\u阻止\u将\u添加到\u购物车\u按钮,$checkbox”);
}
添加操作('woocommerce\u admin\u process\u product\u object','action\woocommerce\u admin\u process\u product\u object',10,1);
要禁用简单和可变产品的“添加到购物车”按钮,请使用:
//可购买(简单)
功能过滤器\u可购买($purchable,$product){
//得到元
$hide_add_to_cart_button=$product->get_meta(“'u prevent_add_to_cart_button');
//比较
如果($hide\u add\u to\u cart\u button=='yes'){
$purchasable=false;
}
返回$purchable;
}
添加过滤器('woocommerce'u可购买','filter'u woocommerce'u可购买',10,2);
//是否可购买(变量)
函数过滤器\u商业\u变体\u可购买($purchable,$product){
$hide\u add\u to\u cart\u button=get\u post\u meta($product->get\u parent\u id(),'u prevent\u add\u to\u cart\u button',true);
//比较
如果($hide\u add\u to\u cart\u button=='yes'){
$purchasable=false;
}
返回$purchable;
}
添加过滤器('woocommerce\u variation\u可购买','filter\u woocommerce\u variation\u可购买',10,2);
注意:有几种方法可以禁用/删除“添加到购物车”按钮,因此这取决于是否要完全隐藏或禁用该按钮