在 WordPress 用户配置文件中隐藏 WooCommerce 账单和运输字段

Hide WooCommerce billing and shipping fields in WordPress user profile

我找不到一种简单的方法来隐藏一些在 WordPress 后端的用户配置文件中可见的 WooCommerce 账单和运输字段。

例如,我想在 WordPress 用户配置文件中隐藏 billing_address_2shipping_address_2。有没有用代码片段来做到这一点的好方法?我尝试使用下面的代码隐藏 css 中的第六行,但我也无法让它工作。

#fieldset-billing.form-table tr:nth-child(6) {
     display: none;
}

如何在 WordPress 用户配置文件中隐藏 WooCommerce 账单和送货字段?

您可以将其添加到 functions.php 文件中,然后取消设置,这样它们就不会被注册。

add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );

function custom_override_checkout_fields( $fields ) {
     unset($fields['order']['billing_address_2']);     
     unset($fields['order']['shipping_address_2']);

     return $fields;
}

从帐户页面删除:

function custom_remove_checkout_fields($fields) {
    unset($fields['order']['billing_address_2']);     
    unset($fields['order']['shipping_address_2']);
    return $fields;
}

add_filter( 'woocommerce_default_address_fields', 'custom_remove_checkout_fields' );

如果它出现在另一个地方,你可以添加另一个挂钩,但调用

add_filter( 'woocommerce_billing_fields', 'new_function_name' );

您可以在文件中看到他们提供的其他挂钩 class-wc-countries.php

有关更多信息和其他选项,您可以访问:https://docs.woocommerce.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/

要从 WordPress 后端用户配置文件中隐藏帐单和送货地址 2 字段,试试这个:

add_action('admin_head', 'custom_admin_user_styles');
function custom_admin_user_styles() {
    ?>
    <style>
        table#fieldset-billing tr:nth-child(5),
        table#fieldset-shipping tr:nth-child(6){
            display: none !important;
        }
    </style>';
    <?php
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。测试和工作。

只需使用CSS隐藏它。 .class 或#ID

.class{
    display: none!important
}

用户个人资料屏幕中显示的账单和送货字段是通过钩子过滤的 woocommerce_customer_meta_fields

要删除运输字段,您可以这样写:

add_filter( 'woocommerce_customer_meta_fields', 'xbs_remove_shipping_fields' );
function xbs_remove_shipping_fields( $show_fields ) {
    unset( $show_fields['shipping'] );
    return $show_fields;
}

要删除所有字段,您可以 return 空 array

add_filter( 'woocommerce_customer_meta_fields', '__return_empty_array' );

将以上代码行添加到主题的 functions.php 文件中。完美运行。