Skip to content Skip to sidebar

This thread is resolved. Here is a description of the problem and solution.

Problem:
You are experiencing an issue where after updating WPML, a custom plugin that sets a new order status shows the English fallback name instead of the translated string on the orders admin page.
Solution:
We recommend modifying your plugin code to use the existing "woocommerce" text domain instead of re-registering the string under its own custom plugin text domain. Here is an example of how you can adjust your code:

function tw_acs_register_new_order_statuses() {<br />    register_post_status( 'wc-shipped', array(<br />        'label'                     => __( 'Shipped', 'woocommerce' ),<br />        'public'                    => true,<br />        'exclude_from_search'       => false,<br />        'show_in_admin_all_list'    => true,<br />        'show_in_admin_status_list' => true,<br />        'label_count'               => _n_noop(<br />            'Shipped <span class="count">(%s)</span>',<br />            'Shipped <span class="count">(%s)</span>',<br />            'acs-courier-voucher'<br />        ),<br />    ) );<br />}<br /><br />function tw_acs_new_wc_order_statuses( $order_statuses ) {<br />    $new_statuses_arr = array();<br />    foreach ( $order_statuses as $id => $label ) {<br />        $new_statuses_arr[ $id ] = $label;<br />        if ( 'wc-completed' === $id ) {<br />            $new_statuses_arr['wc-shipped'] = __( 'Shipped', 'woocommerce' );<br />        }<br />    }<br />    return $new_statuses_arr;<br />}

Please note that custom code is outside the scope of our support. If this solution does not resolve your issue or if it becomes outdated, we highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If further assistance is needed, please open a new support ticket at WPML support forum.

This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

Tagged: ,

This topic contains 27 replies, has 0 voices.

Last updated by dimitrisD-7 4 weeks ago.

Assisted by: Lucas Vidal de Andrade.

Author Posts
May 26, 2026 at 2:34 pm #18061271

dimitrisD-7

Hello,

I am facing an issue since I updated to the last version of wpml where I have a custom plugin that sets a new status and registered at wpml as usual and on string translation I can see the string that is already translated but when I go to the orders admin page I get the english (fallback) name of the order status as seen on screenshots.

Thank you.

May 27, 2026 at 6:58 am #18062369

dimitrisD-7

Hello,

I still need assistance with the issue above.

Thank you.

May 28, 2026 at 7:37 am #18065430

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: Europe/Vienna (GMT+02:00)

Hello there,

Thank you for sharing the details. Please make sure to have a full website backup and:

1. Go to WPML > String Translation, select and delete the mentioned string;
2. Go to WPML > Theme and Plugin localization, select and scan the related plugin/theme that contains the string;
3. Add the translation to it again;

Let me know if that solves the issue.

May 28, 2026 at 11:35 am #18066348

dimitrisD-7

Hello Lucas,

thank you for your reply.

I have followed the steps and I still have the same issue.

Is there anything else I can try?

May 28, 2026 at 11:37 am #18066349

dimitrisD-7

Hello Lucas,

thank you for your reply.

I have followed the steps you mentioned but I keep having the same issue.

Is there anything else I can try in order to fix it ?

May 28, 2026 at 1:51 pm #18066972

Lucas Vidal de Andrade
Supporter

Hey there,

Thank you for sharing the results. Can you please share the snippet from the custom plugin, where this specific string is being registered? With this information I can better understand what might be happening.

May 28, 2026 at 2:34 pm #18067121

dimitrisD-7

Hello again,

this is the snippet of the new status registration in woocommerce and also in wpml.

add_action( 'init', 'tw_acs_register_new_order_statuses' );

function tw_acs_register_new_order_statuses() {

register_post_status( 'wc-shipped', array(

'label' => _x( 'Shipped', 'Order status', 'acs-courier-voucher' ),

'public' => true,

'exclude_from_search' => false,

'show_in_admin_all_list' => true,

'show_in_admin_status_list' => true,

'label_count' => _n_noop( 'Shipped <span class="count">(%s)</span>', 'Shipped<span class="count">(%s)</span>', 'acs-courier-voucher' )

) );

}

May 29, 2026 at 8:10 am #18068533

Lucas Vidal de Andrade
Supporter

Thank you for sharing. It seems that the code wasn't properly registering the string. Please make sure to have a full website backup and try with the code below:

add_action( 'init', 'tw_acs_register_new_order_statuses' );

function tw_acs_register_new_order_statuses() {
	register_post_status( 'wc-shipped', array(
		'label'                     => _e( 'Shipped', 'acs-courier-voucher' ),
		'public'                    => true,
		'exclude_from_search'       => false,
		'show_in_admin_all_list'    => true,
		'show_in_admin_status_list' => true,
		'label_count'               => _n_noop(
			'Shipped <span class="count">(%s)</span>',
			'Shipped <span class="count">(%s)</span>',
			'acs-courier-voucher'
		),
	) );
}
May 29, 2026 at 11:13 am #18069333

dimitrisD-7

Hello,

I have tried that as well but the issue remained.

Thank you.

May 29, 2026 at 3:00 pm #18069998

Lucas Vidal de Andrade
Supporter

Have you deleted and re-registered the string after updating the code?

June 2, 2026 at 12:19 pm #18075459

dimitrisD-7

Hello,

sorry for the late response, yes after the code update I have tried to delete the status and registered again now it appears two times as you can see in the screenshot.

Thank you.

Screenshot_12.png
June 3, 2026 at 5:32 am #18077225

Lucas Vidal de Andrade
Supporter

I would like to look at this directly on your site. For this I would need temporary access (WP-Admin and FTP) to your site, preferably to a test/staging site where the problem has been replicated if possible.

The required fields can be found below the comments section. The information you enter is private, i.e. only you and I can see it and have access to it.

I may need to replicate your website locally. To do this, I need to temporarily install a plugin called "Duplicator" or "All in One WP Migration" on your website. This will allow me to create a copy of your website and content. Once the issue is resolved, I will delete the local website. Let me know if this works for you.

IMPORTANT

Please make a backup copy of the site files and database before giving us access.

- If you do not see the wp-admin/FTP fields, this means your post and site login details are being made PUBLIC. DO NOT post your website details if you do not see the required wp-admin/FTP fields. If you do not, ask me to enable the private box. The private box looks like this:

hidden link

June 3, 2026 at 8:12 am #18077626

dimitrisD-7

Hello Lucas,

unfortunately we don't have enough space in server disk in order to create a staging site to replicate the issue, knowing that I would request a backup before I send you the credentials to live site.

Can you enable the private box in order to give you the credentials?

Thank you.

June 3, 2026 at 8:59 am #18077875

Lucas Vidal de Andrade
Supporter

Sure. It's enabled.

June 3, 2026 at 2:53 pm #18079191

Lucas Vidal de Andrade
Supporter

Hey there,

I've tried downloading a copy of your website, but the process failed multiple times. To be able to verify the issue and test solutions, I need you to please create a staging (testing) copy of your website on the same server, so I can check for causes and solutions without harming the live website.

You can use a plugin to achieve that, or reach out to your hosting support, and they might be able to help you creating a staging website. Please send me the link to it here, when you are done. Thank you for the cooperation on this matter.

You can keep the same user you've already shared on staging, so I can access it directly.