在我们使用的网络公司破产后,我接管了我公司的 WordPress 网站。我不是一个强大的程序员,所以对我来说裸露。我正在尝试编辑 WooCommerce 管理订单页面上的元数据字段。例如,当它说“_user_handle_rebate”时,我需要它说“Handle Rebate”。我用字符串查找器查找了这个,我只能在 order-details.php 文件中看到它,在尝试更改名称后,该文件似乎不是编码的地方。很多谷歌搜索表明这可能在functions.php文件中,但我仍然不知道要寻找什么。
是否可以添加一段代码来在事后更改此值,或者我是否必须在存储时更改此值。非常感谢任何建议。
我尝试编辑 order-details.php 文件中的元数据字段,但这对管理订单页面没有影响。我也尝试查看functions.php,但无济于事。这是我可以使用字符串查找器找到的唯一代码:
do_action( 'woocommerce_order_item_meta_start', $item_id, $item, $order );
echo "<br/>";
if (!empty($item_meta->meta['_user_width'][0]))
echo "Width: ". $item_meta->meta['_user_width'], $item_meta->meta['_user_unit'] ."<br/>";
if (!empty($item_meta->meta['_user_drop'][0]))
echo "Drop: ". $item_meta->meta['_user_drop'], $item_meta->meta['_user_unit'] ."<br/>";
if (!empty($item_meta->meta['_user_fitting'][0]))
echo "Fitting Type: ". $item_meta->meta['_user_fitting'] . "<br/>";
if (!empty($item_meta->meta['_user_pull']))
echo "Pull side: ". $item_meta->meta['_user_pull'] ."<br/>";
if (!empty($item_meta->meta['_user_chain']))
echo "Chain Type: ". $item_meta->meta['_user_chain'] ."<br/>";
if (!empty($item_meta->meta['_user_tilt'][0]))
echo "Tilt side: ". $item_meta->meta['_user_tilt'] ."<br/>";
if (!empty($item_meta->meta['_user_controls'][0]))
echo "Controls: ". $item_meta->meta['_user_controls'] ."<br/>";
if (!empty($item_meta->meta['_user_stack'][0]))
echo "Stack side: ". $item_meta->meta['_user_stack'] ."<br/>";
if (!empty($item_meta->meta['_user_bracket'][0]))
echo "Bracket fitting side: ". $item_meta->meta['_user_bracket'] ."<br/>";
if (!empty($item_meta->meta['_user_opening'][0]))
echo "Control Wand: ". $item_meta->meta['_user_opening'] ."<br/>";
if (!empty($item_meta->meta['_user_frame_colour'][0]))
echo "Frame colour: ". $item_meta->meta['_user_frame_colour'] ."<br/>";
if (!empty($item_meta->meta['_user_operation_type'][0]))
echo "Operation Type: ". $item_meta->meta['_user_operation_type'] ."<br/>";
if (!empty($item_meta->meta['_user_depth'][0]))
echo "Depth: ". $item_meta->meta['_user_depth'] ."<br/>";
if (!empty($item_meta->meta['_user_handle_rebate']))
{
echo "Handle Rebate Location: ". $item_meta->meta['_user_handle_rebate'];
echo '<br/>Measurements: ' . $item_meta->meta['_user_hr_measurements'].' mm';
}
在 WooCommerce 管理单一订单页面中,要将任何显示的元键更改为可读的标签名称替换,请使用以下命令:
// Change order items displayed meta key(s) to readable label name(s) replacement(s)
add_filter('woocommerce_order_item_display_meta_key', 'add_readable_meta_keys_names_replacements', 10, 3 );
function add_readable_meta_keys_names_replacements( $display_key, $meta, $item ) {
// Only for "line_item" order item type
if( $item->get_type() !== 'line_item' )
return $display_key;
// Handle Rebate
if( $meta->key === '_user_handle_rebate' ) {
$display_key = esc_html__('Handle Rebate', 'woocommerce');
}
// Measurements
elseif( $meta->key === '_user_hr_measurements' ) {
$display_key = esc_html__('Measurements', 'woocommerce');
}
return $display_key;
}
代码位于子主题的functions.php 文件中(或插件中)。应该可以。
偶然发现了你 2021 年 @LoicTheAztec 的一些代码,似乎已经成功了!
add_filter('woocommerce_order_item_display_meta_key', 'filter_wc_order_item_display_meta_key', 20, 3 );
function filter_wc_order_item_display_meta_key( $display_key, $meta, $item ) {
// Change displayed label for specific order item meta key
if( is_admin() && $item->get_type() === 'line_item' && $meta->key === '_articleid' ) {
$display_key = __("Article ID", "woocommerce" );
}
return $display_key;
}