Php Woocommerce-如果产品ID==则添加过滤器以显示(或隐藏)自定义签出字段

Php Woocommerce-如果产品ID==则添加过滤器以显示(或隐藏)自定义签出字段,php,wordpress,woocommerce,checkout,custom-fields,Php,Wordpress,Woocommerce,Checkout,Custom Fields,我创建了一个my_custom_字段textarea,作为默认的账单名称、账单地址等。现在,如果购物车中有产品id,我想隐藏此字段。 因此,我需要检查productID==,然后从签出中删除我的_custom_字段 否则可能更好?我可以检查productID==,并为特定ID或类别创建一个自定义字段。 您有什么建议?您可以尝试此方法,以适应您的自定义字段和产品ID add_filter( 'woocommerce_checkout_fields' , 'custom_override_check

我创建了一个my_custom_字段textarea,作为默认的账单名称、账单地址等。现在,如果购物车中有产品id,我想隐藏此字段。 因此,我需要检查productID==,然后从签出中删除我的_custom_字段

否则可能更好?我可以检查productID==,并为特定ID或类别创建一个自定义字段。
您有什么建议?

您可以尝试此方法,以适应您的自定义字段和产品ID

add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );

function custom_override_checkout_fields ( $fields ){

    if ( count( WC()->cart->get_cart() ) == 0 ) {
        return $fields;
    }

    foreach ( WC()->cart->get_cart() as $key => $item ) {
        if( in_array( $items[ 'product_id' ], array('1','2','3') ) ){
            unset( $fields[ 'my_custom_field' ] );
            break;
        }
    }

    return $fields;
}