我正在尝试根据条件替换默认的woocommerce产品归档添加到购物车按钮。
例如
产品A-复选框处于活动状态->显示查找经销商按钮 产品B-复选框未激活->显示默认添加到购物车按钮
如果产品具有活动的自定义复选框,我已经成功地编写了添加复选框的代码和替换按钮的条件。产品A的按钮可以正常使用,并且可以在商店档案中使用。
但是,如果没有激活此复选框的产品,我不确定如何保留woocommerce默认添加到购物车按钮。我以为添加该操作将起作用,但是我很沮丧。任何帮助将不胜感激。预先谢谢你。
add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_default_button' );
function replace_default_button(){
global $product;
if ($product->get_meta('_checkbox_active') === 'yes' ){
return '<button>Finda Dealer</button>';}
else {add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );}
答案 0 :(得分:1)
您只是忘记了钩子函数变量参数。请尝试以下操作:
add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_default_button', 10, 2 );
function replace_default_button( $button, $product ){
if ( $product->get_meta('_checkbox_active') === 'yes' ){
$button = '<a href="#" class="button alt">' . __( "Find a dealer", "woocommerce" ) . '</a>';
}
return $button;
}
代码进入活动子主题(或活动主题)的functions.php文件中。应该可以。