如何在WooCommerce后台订单页面隐藏部分自定义字段
WooCommerce管理员订单页隐藏多余自定义字段方案
有两种实现方式,均不会删除原有字段数据,仅对后台订单视图生效:
方法1:使用WooCommerce内置过滤器(推荐)
通过官方钩子直接过滤要渲染的自定义字段列表,无冗余内容输出,性能更好。
将以下代码添加到当前主题的functions.php文件,或自定义代码片段插件中即可:
add_filter( 'woocommerce_order_custom_fields_meta', 'filter_reserved_order_custom_fields', 10, 1 ); function filter_reserved_order_custom_fields( $custom_fields ) { // 替换为你需要保留的2个自定义字段的实际键名 $reserved_field_keys = [ '_your_first_custom_key', '_your_second_custom_key' ]; foreach ( $custom_fields as $key => $field_info ) { if ( !in_array( $key, $reserved_field_keys ) ) { unset( $custom_fields[$key] ); } } return $custom_fields; }
- 自定义字段的键名可直接在原自定义字段列表的「名称」列查看
- 后续需要新增显示的字段,直接往
$reserved_field_keys数组中添加对应键名即可
方法2:后台CSS隐藏
如果不想修改PHP代码,可以通过添加后台自定义CSS实现视觉隐藏:
/* 以下规则根据自定义字段键名匹配隐藏,需要隐藏多少个就添加多少条对应规则,替换键名即可 */ #woocommerce-order-data .form-table tr:has(input[name="meta[_unwanted_custom_key]"]) { display: none; }
注意:如果使用低版本不支持
:has选择器的浏览器,可以换成对应字段的class或id选择器精准匹配即可。
两种方案都只会修改管理员后台订单编辑页的展示效果,不会修改数据库存储的字段内容,也不会影响前端、接口或其他场景的字段调用。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

