Woocommerce требуется флажок перед добавлением товара в корзину - PullRequest
1 голос
/ 04 июля 2019

Я хочу установить флажок, который нужно щелкнуть, прежде чем товар можно будет добавить в корзину.

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 Ответ

1 голос
/ 05 июля 2019

Просто добавьте следующий фрагмент кода -

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 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...