我已经重新命名了我的订单状态'已完成'付款'使用此代码
function wc_renaming_order_status( $order_statuses ) {
foreach ( $order_statuses as $key => $status ) {
$new_order_statuses[ $key ] = $status;
if ( 'wc-completed' === $key ) {
$order_statuses['wc-completed'] = _x( 'Paid', 'Order status', 'woocommerce' );
}
}
return $order_statuses;
}
add_filter( 'wc_order_statuses', 'wc_renaming_order_status' );
现在我需要在订单列表管理员中重命名批量选项。 我已经使用了这段代码:
add_action('admin_footer-edit.php', 'custom_bulk_admin_footer');
function custom_bulk_admin_footer() {
global $post_type;
if($post_type == 'shop_order') {
?>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('<option>').val('shipped').text('<?php _e('Mark as shipped')?>').appendTo("select[name='action']");
jQuery('<option>').val('shipped').text('<?php _e('Mark as shipped')?>').appendTo("select[name='action2']");
});
</script>
<?php
}
}
但仅适用于添加新选项,我真正需要的是重命名批量选项&#39; Mark as completed&#39;标记为已付款&#39;
我该如何解决这个问题?
由于
答案 0 :(得分:3)
可以使用wordpress gettex()
原生函数。你会得到这个:
这是代码:
add_filter('gettext', 'wc_renaming_bulk_status', 20, 3);
function wc_renaming_bulk_status( $translated_text, $untranslated_text, $domain ) {
if( is_admin()) {
if( $untranslated_text == 'Mark complete' )
$translated_text = __( 'Mark paid','theme_text_domain' );
}
return $translated_text;
}
此代码包含活动子主题(或主题)的function.php文件或任何插件文件。
此代码经过测试且有效。