在将产品添加到购物车之前,需要Woocommerce复选框

时间:2019-07-04 15:38:59

标签: php wordpress woocommerce

我想创建一个复选框,需要先单击它,然后才能将产品添加到购物车。

add_action( 'woocommerce_before_add_to_cart_button', 'add_privacy_policy', 9 );
    function add_privacy_policy() {

    woocommerce_form_field( 'privacy_policy', array(
    'type'          => 'checkbox',
    'class'         => array('form-row privacy'),
    'label_class'   => array('woocommerce-form__label woocommerce-form__label-for-checkbox checkbox'),
    'input_class'   => array('woocommerce-form__input woocommerce-form__input-checkbox input-checkbox'),
    'required'      => true,
    'label'         => 'I\'ve read and accept the <a href="#">Privacy Policy</a>',
    )); 

    }

这是我到目前为止所拥有的。现在,我需要创建一个操作,该操作在单击“添加到购物车”按钮之后但实际上没有将产品放入购物车之前触发。如果该框未打勾,我要使其打勾,以便输出错误,并且该产品不会添加到购物车中。

由于我并不真正了解woocommerce,所以我想知道是否有这样的动作,如果没有,那么如何产生相同的效果。

1 个答案:

答案 0 :(得分:1)

只需添加以下代码段-

function add_privacy_policy_validation( $passed ) { 
    if ( !isset( $_REQUEST['privacy_policy'] ) ) {
        wc_add_notice( __( 'Please accept privacy policy', 'woocommerce' ), 'error' );
        $passed = false;
    }
    return $passed;
}
add_filter( 'woocommerce_add_to_cart_validation', 'add_privacy_policy_validation', 99 );