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