Нужно Woocommerce Checkbox, чтобы показать / скрыть условно - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь создать условный флажок, который показывает / скрывает в зависимости от состояния доставки и выставления счетов пользователем во время оформления заказа.В настоящее время я не могу найти способ условно показать эту информацию.Все, что мне нужно, чтобы флажок появился, когда пользователь выписывается из Калифорнии.У меня также есть текстовое поле с предупреждением, которое мне нужно отобразить на основе состояния и смог сделать эту работу.По какой-то причине у меня не может появиться флажок ТОЛЬКО при выборе Калифорнии в качестве штата.

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

** / add_action ('woocommerce_after_checkout_form', 'my_custom_checkout_field');

function my_custom_checkout_field ($ checkout) {

echo '<div id="my-new-field"><h3>'.__(' ').'</h3>'; 

woocommerce_form_field( '', array(
    'type'          => 'checkbox',
    'class'         => array('input-checkbox'),
    'label'         => __('Yes, I Understand.'),
    'required'  => true,
    ), $checkout->get_value( '' ));

echo '</div>';

}

/** * Обработка заказа ** / add_action ('woocommerce_checkout_process', 'my_custom_checkout_field_process');

function my_custom_checkout_field_process () {global $ woocommerce;

// Check if set, if its not set add an error.
if (!$_POST['my_checkbox'])
     $woocommerce->add_error( __('Please agree to my checkbox.') );

}

// Первый шаг // Создаем предупреждающее сообщение Prop 65 и подключаем его к WooCommerce после просмотра заказа // «display: none» по умолчанию мы скрыли предупреждающее сообщение

add_action ('woocommerce_after_checkout_form', 'show_prop_message');

function show_prop_message () {echo 'placeholderforpicture "/> ПРЕДУПРЕЖДЕНИЕ НЕКОТОРЫЕ ПРОДУКТЫ, ПРОДАННЫЕ НА ЭТОМ МАГАЗИНЕ, МОГУТ СОДЕРЖАТЬ ХИМИКАТЫ, ИЗВЕСТНЫЕ ДЛЯ СОСТОЯНИЯ КАЛИФОРНИИ, ПРИЧИНИТЬ РЯД, УСТУПЛЕНИЕ ИЛИ УКАЗАНИЕПодробнее

// Второй шаг // Отображение или скрытие предупреждающего сообщения на основе состояния выставления счета и доставки // Первый триггер срабатывает при выборе состояния выставления счета в случае, если флажок «Отправка на другой адрес» не установлен //Второй триггер срабатывает, если установлен флажок «Отправка на другой адрес» // По умолчанию «display: none» скрывает предупреждающее сообщение

add_action ('woocommerce_before_checkout_form', 'show_warning_message'); функция show_warning_message() {
?>

<script>
    jQuery(document).ready(function($){

        // Set the shipping state 2 char code (This selection will fire the warning message display)
        // Fires secondary if shipping state is set to California
        var stateCode = 'CA';

        $('select#shipping_state').change(function(){

            selectedState = $('select#shipping_state').val();

            if( selectedState == stateCode ){
                $('.prop65-warning').show();
            }
            else {
                $('.prop65-warning').hide();
            }
        });

    });
    </script>
    <script>

    jQuery(document).ready(function($){ 

        // Set the billing state 2 char code (This selection will fire the warning message display)
        // Fires initially if billing state is California
        var stateCode = 'CA';

        $('select#billing_state').change(function(){

            selectedState = $('select#billing_state').val();

            if( selectedState == stateCode ){
                $('.prop65-warning').show();
            }
            else {
                $('.prop65-warning').hide();
            }
        });

    });     
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...