The latest WordPress 6.8 release has brought some exciting new features—but along with it, a few growing pains. One error that’s raising eyebrows among developers and site owners alike is the mysterious:

Notice: Function _load_textdomain_just_in_time was called incorrectly.

If you’ve seen this pop up on your site, don’t worry—you’re not alone. This article will break down what the error means, why it appears, and how you can resolve or prevent it.

Fixing _load_textdomain_just_in_time error in WordPress 6.8 update

What is the Function _load_textdomain_just_in_time Error?

After updating to WordPress 6.8, many users are encountering notices like this:

Notice: Function _load_textdomain_just_in_time was called incorrectly. 
Translation loading for the 'plugin-name' domain was triggered too early. 
This is usually an indicator for some code in the plugin or theme running too early. 
Translations should be loaded at the init action or later.

This message originates from WordPress core and is designed to help developers follow best practices when loading translations. The function _load_textdomain_just_in_time() is a part of WordPress’s internationalization (i18n) system, which dynamically loads translation files when needed.

What’s Triggering This Notice?

In short, plugins or themes that try to load translation files too early in the WordPress load process (before the init hook) are causing this warning to appear.

For example, several users reported this error with plugins like:

  • ACO WooCommerce Dynamic Pricing
  • WooCommerce Services
  • Rock Star Pro theme
  • Bricks Builder(Fixed Now)

These plugins are trying to load .mo language files before WordPress is ready, which throws a notice as of version 6.7 (and now seen more prominently in 6.8).

Why This Error Matters

While it may just be a “notice,” it can lead to bigger issues like:

  • Frontend or backend warnings: Notices may appear on your live website if WP_DEBUG is enabled.
  • Header already sent errors:
    Warning: Cannot modify header information – headers already sent by (output started at /path/to/plugin/file.php:line)
    

These can break page rendering, cause redirects to fail, or mess with AJAX calls.

How to Fix or Avoid the Error

For Plugin/Theme Developers

If you’re a developer, you’ll need to defer the loading of translations until the init hook:

add_action( 'init', 'load_plugin_textdomain_properly' );

function load_plugin_textdomain_properly() {
    load_plugin_textdomain( 'plugin-name', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
}

Avoid calling load_plugin_textdomain() or any related translation loading code in the global scope or too early in the plugin’s execution flow.

For Site Owners (Non-developers)

Here’s what you can do if you’re not a developer:

  1. Identify the plugin or theme causing the notice:
    • Temporarily deactivate plugins one by one and reload your site to see when the notice disappears.
    • Switch to a default theme like Twenty Twenty-Four to test if the theme is the culprit.
  2. Contact the plugin/theme developer:
    • Share the exact error message.
    • Ask them to load text domains using the init hook as per WordPress best practices.
  3. Suppress notices on live sites:
    • In production environments, hide warnings by setting WP_DEBUG to false in wp-config.php:
      define( 'WP_DEBUG', false );
      
    • Or, if debugging is needed but you want to hide notices, use:
      error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);
      

Is This a Bug in WordPress 6.8?

No—this is not a bug in WordPress. The core team introduced this notice intentionally to encourage better coding practices and discourage loading translations prematurely. While it may feel like a nuisance now, it’s actually paving the way for a cleaner, more predictable internationalization flow in WordPress.

Final Thoughts

The _load_textdomain_just_in_time notice in WordPress 6.8 may seem alarming at first, but it’s actually a helpful pointer toward more stable, future-proof plugins and themes. If you’re a developer, updating your code to load translations at the right time is the fix. And if you’re a site owner, identifying the plugin or theme at fault and reporting it is your best move.

Keeping your website error-free and aligned with WordPress best practices ensures better performance and compatibility moving forward. Got questions about other WordPress 6.8 issues? Drop them in the comments or check out our full coverage on the TemplateToaster Blog.