Добавляем второй чекбокс согласия с политикой конфиденциальности в заказе (WooCommerce)

19.11.2019 | Написал

Возникла необходимость добавить еще один чекбокс после стандартного согласия с правилами для магазина на WooCommerce.

Делаем это следующим образом:

Открываем function.php нашей темы. Создадим дополнительное поле типа checkbox:

// Add Privacy Policy Checkbox
 
add_action( 'woocommerce_review_order_before_submit', 'add_checkout_privacy_policy', 9 );
 
function add_checkout_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'         =&gt; 'Я подтверждаю, что ознакомился с <a href="/privacy-policy"> политикой конфиденциальности интернет-магазина </a>',
)); 
}

Поле выведется вторым чекбоксом после все информации по заказу. Оно обязательно, если чекбокс не отметить, то должно выскочить предупреждение. Добавим его:

add_action('woocommerce_after_checkout_validation', 'approved_privacy', 10, 2);
 
function approved_privacy( $data, $errors ) {
    if ( ! (int) isset( $_POST['privacy_policy'] ) ) {
        $errors-&gt;add( 'approved-privacy', __('Proszę przeczytać i zaakceptować polityką prywatności sklepu aby móc sfinalizować zamówienie.') );
    }
}

Т.о. мы получим еще одно условие, без согласия с которым, нельзя будет оформить заказ.

Метки: ,
Комментарии читателей статьи "Добавляем второй чекбокс согласия с политикой конфиденциальности в заказе (WooCommerce)"

Нет комментариев.

Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.