Добавляем чекбокс согласия с политикой конфиденциальности в Woocommerce-форме

По умолчанию в форме заказа Woocommerce информация о политике конфиденциальности указана просто как уведомление. То есть человек при оформлении заказа не может согласиться или не согласиться с политикой.

Сегодня от клиентки поступил запрос о том, что нужно добавить такую галочку в форму заказа: обязательно условие от платежного шлюза.
Как добавить галочку согласия с политикой конфиденциальности в Woocommerce
Нам понадобиться небольшой снимет кода, который нужно добавить в function.php вашей темы.
Честно говоря, я не люблю что-либо править в function.php, поэтому пользуюсь другим способом добавления php-сниппетов.
Я использую плагин Woody Snippets.
Код для вставки в php — сниппет
add_action( 'woocommerce_review_order_before_submit', 'add_privacy_checkbox', 9 );
function add_privacy_checkbox() {
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' => 'Я прочитал и согласен с <a href="https://YOURDOMAIN.com/privacy-policy">Политикой конфиденциальности</a>',
));
}
add_action( 'woocommerce_checkout_process', 'privacy_checkbox_error_message' );
function privacy_checkbox_error_message() {
if ( ! (int) isset( $_POST['privacy_policy'] ) ) {
wc_add_notice( __( 'Вам необходимо отметить галочкой, что вы ознакомлены с политикой конфиденциальности' ), 'error' );
}
}
Куда вставлять код
Woody Snippets — Добавить сниппет — PHP сниппет — Добавить

Теперь вставляем код и обязательно нажимаем Запустить везде. И после этого кнопочку Опубликовать.

Вуаля 🙂 Все готово. Делается за 1 минуту! ))
