Я пытаюсь добавить фрагмент в мой файл functions.php, чтобы придерживаться правил Prop65 в Калифорнии.Во время оформления заказа я хочу, чтобы отображалось окно с текстовым предупреждением с флажком, предлагающим согласие пользователя.Текст и флажок должны появляться только тогда, когда пользователь помечает свой почтовый адрес как Калифорния, в противном случае его следует скрыть.Я могу получить текст для отображения, но я не уверен, как также добавить флажок в том же поле.Вот код, который я использую, поэтому текстовое поле отображается только на основании определенного условия:
Я попытался добавить отдельное действие для кнопки-флажка, и я не уверен, как это сделать, искрыть в зависимости от условия.
// Part 1
// Add the message notification and place it over the billing section
// The "display:none" hides it by default
add_action( 'woocommerce_after_checkout_billing_form',
'bbloomer_echo_notice_shipping' );
function bbloomer_echo_notice_shipping() {
echo '<div class="shipping-notice woocommerce-info"
style="display:none"><img src="https://emartmedia.com/images/bw6pt.png"
/><strong>WARNING</strong> SOME PRODUCTS SOLD ON THIS STORE WEBSITE CAN
CONTAIN CHEMICALS KNOWN TO THE STATE OF CALIFORNIA TO CAUSE CANCER,
BIRTH DEFECTS OR OTHER REPRODUCTIVE HARM. <a
href="https://www.p65warnings.ca.gov" target="_blank">Details</a></p>
</div>';
}
// Part 2
// Show or hide message based on billing state
// The "display:none" hides it by default
add_action( 'woocommerce_before_checkout_form',
'bbloomer_show_notice_shipping' );
function bbloomer_show_notice_shipping(){
?>
<script>
jQuery(document).ready(function($){
// Set the state code (That will display the message)
var stateCode = 'CA';
$('select#billing_state').change(function(){
selectedstate = $('select#billing_state').val();
if( selectedstate == stateCode ){
$('.shipping-notice').show();
}
else {
$('.shipping-notice').hide();
}
});
});
</script>
<?php
}