Woocommerce产品档案上的条件添加到购物车按钮

时间:2019-06-06 03:51:46

标签: php wordpress woocommerce product hook-woocommerce

我正在尝试根据条件替换默认的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 );}

1 个答案:

答案 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文件中。应该可以。