Php 添加一个复选框,用于在电子商务签出时显示/隐藏订单注释

Php 添加一个复选框,用于在电子商务签出时显示/隐藏订单注释,php,jquery,wordpress,woocommerce,checkout,Php,Jquery,Wordpress,Woocommerce,Checkout,我正在尝试添加一个复选框,以显示或隐藏原始的“附加说明”对WooCommerce。有人知道怎么做吗 我将使用答案代码,在结帐页面中添加该复选框 woocommerce最初的“附加说明”位于shipping.php的表单下,如下所示: 以下内容将添加一个复选框,用于在结帐页面上显示/隐藏Woocommerce默认订单注释: add_filter( 'woocommerce_checkout_fields', 'custom_checkout_order_notes' ); function cus

我正在尝试添加一个复选框,以显示或隐藏原始的“附加说明”对WooCommerce。有人知道怎么做吗

我将使用答案代码,在结帐页面中添加该复选框

woocommerce最初的“附加说明”位于shipping.php的
表单下,如下所示:


以下内容将添加一个复选框,用于在结帐页面上显示/隐藏Woocommerce默认订单注释:

add_filter( 'woocommerce_checkout_fields', 'custom_checkout_order_notes' );
function custom_checkout_order_notes( $fields ) {
    $fields['order']['order_comments']['class'][] = 'off';
    return $fields;
}

add_action( 'woocommerce_before_order_notes', 'checkout_checkbox_show_hide_order_notes' );
function checkout_checkbox_show_hide_order_notes( $fields ) {
    $target_id = 'order_comments';
    ?>
    <style> p#<?php echo $target_id; ?>_field.off { display:none;}</style>
    <script type="text/javascript">
    jQuery(function($){
        var a = 'input#checkbox_trigger',       b = '#<?php echo $target_id; ?>_field';

        $(b).hide('fast');

        $(a).change(function(){
            if( $(b).hasClass('off') ) {
                $(b).removeClass('off');
            }

            if ( $(this).prop('checked') ) {
               $(b).show('fast');
            } else {
                $(b).hide('fast', function(){
                    $(b+' input').val('');
                });
            }
        });
    });
    </script>
    <?php

    woocommerce_form_field( 'checkbox_trigger', array(
        'type'      => 'checkbox',
        'label'     => __('Add a note to your order?', 'woocommerce'),
        'class'     => array('form-row-wide'),
        'clear'     => true,
    ), false );
}
add_filter('woocommerce_checkout_fields'、'custom_checkout_order_notes');
函数自定义\签出\订单\备注($fields){
$fields['order']['order_comments']['class'][]='off';
返回$fields;
}
添加操作(“在订单注释之前添加商业”、“签出”复选框“显示隐藏订单注释”);
函数签出\复选框\显示\隐藏\顺序\注释($fields){
$target_id='order_comments';
?>
p#_field.off{display:none;}
jQuery(函数($){
变量a='输入#复选框_触发器',b='输入#字段';
$(b).隐藏(“快速”);
$(a).更改(函数(){
if($(b).hasClass('off')){
$(b).删除类(“关闭”);
}
if($(this.prop('checked')){
$(b).显示(“快速”);
}否则{
$(b).hide('fast',function(){
$(b+“输入”).val(“”);
});
}
});
});

是的!这就是我想做的,但因为我不能,我提到我尝试了一个新的自定义字段,但也没有真正起作用。我现在就编辑它,非常感谢!它起作用了(谢谢)@Haroldardersen你能整理你的评论吗,因为这很有效(保留你最后的评论)