仅在WooCommerce中替换管理单订单页面上的标题文本



我正试图在我的管理面板中修改订单详细信息页面中的账单运输文本。(屏幕截图)

我知道,我可以通过编辑以下目录中的"class-wc-meta-box-orderd-data.php"文件来实现这一点;我很成功,但我知道我的更改将在更新后消失。

文件位置:
wp-content/plugins/woocommerce/includs/admin/meta-boxes/class-wc-meta-box-order-data.php

计费文本位于312 Line&装运文本位于428行。

我想用发件人信息替换计费

发货将替换为收件人信息

我已经尝试使用以下代码&它起作用了,但我只想在管理面板中的订单详细信息页面上替换这些单词,但这段代码也替换了前端的这些单词&我只想在管理面板中更新这些单词。

add_filter('gettext', 'translate_reply');
add_filter('ngettext', 'translate_reply');
function translate_reply($translated) {
$translated = str_ireplace('Shipping', 'Recipient Information', 
$translated);
$translated = str_ireplace('Billing', 'Sender Information', $translated);
return $translated;
}

我也尝试过将文件目录放在我的子主题中(编辑后),但没有成功。

以下仅针对管理员单个"编辑"(和"新")订单页面:

add_filter(  'gettext',  'change_admin_single_order_heading3', 10, 3 );
add_filter(  'ngettext',  'change_admin_single_order_heading3', 10, 3 );
function change_admin_single_order_heading3( $translated, $text, $domain  ) {
global $pagenow;
if ( is_admin() && ( ( $pagenow === 'post.php' && isset($_GET['post']) && get_post_type($_GET['post']) === 'shop_order' )
|| ( $pagenow === 'post-new.php' && isset($_GET['post-type']) && $_GET['post-type'] === 'shop_order' ) ) ) {
if( $text === 'Billing' && $domain === 'woocommerce' ){
$translated = esc_html__( 'Sender Information', $domain );
}
if( $text === 'Shipping' && $domain === 'woocommerce' ){
$translated = esc_html__( 'Recipient Information', $domain );
}
// Addition asked in your comment
if( $text === 'Shipping:' && $domain === 'woocommerce' ){
$translated = esc_html__( 'Some text', $domain );
}
}
return $translated;
}

代码位于活动子主题(或活动主题)的function.php文件中。测试并工作。

最新更新