WordPressサイトを操作していると、デバッグモードでエラーが表示されることがあります。中でも、WordPress 6.7以降で、たまに見かけるのが次のようなNoticeエラー。
Notice: Function _load_textdomain_just_in_time was called incorrectly...
これは、翻訳ファイルの読み込み処理が適切なタイミングで実行されていないことを知らせる警告です。
当記事では、このエラーの原因とユーザーが取るべき対処法について解説します。
どんなエラーなの?
下記のようなエラーは、翻訳ドメイン(=言語ファイルを切り替えるための識別子)に関連する翻訳処理が、本来より早いタイミングで実行されてしまったことを意味しています。
Notice: Function _load_textdomain_just_in_time was called incorrectly.
Translation loading for the wp-external-links 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.
Please see Debugging in WordPress for more information.
(This message was added in version 6.7.0.)
上記は、実際に筆者が遭遇したエラーメッセージの全文です。「wp-external-links」と記載されていることから、原因はプラグイン「External Links」にあると判断できます。
なお、NoticeエラーはPHPの中でも最も軽度のエラーレベルであり、このメッセージが表示されてもサイトの動作や表示に直接的な問題が起きることはほとんどありません。
原因:翻訳ファイルの読み込みが早すぎる
WordPressでは、翻訳ファイルを読み込むタイミングが重要です。
適切なタイミングで読み込まないと、正しく翻訳が適用されないだけでなく、今回のようなNoticeが表示されることもあります。
プラグインやテーマの影響
多くの場合、ご利用のプラグインやテーマが、WordPress 6.7で追加された仕様に対応できていないことが原因です。
技術的には、翻訳ファイル(.moファイルなど)の読み込みが「init」アクションより前に実行されており、WordPressがそれを検出して警告を出している状態です。
TCDテーマは、全製品で対応済みですので、このエラーが発生することはありません。
対処方法
結論から言いますと、ユーザーが緊急に対応する必要はありません。
この手のNoticeエラーは、あくまで注意レベルのメッセージで、サイトの表示や機能に影響することはほとんどないからです。
ユーザーが取れる選択肢
- プラグインやテーマを最新版にアップデートする
WP_DEBUG_DISPLAY
をfalse
にして、画面への出力を抑える- どうしても気になる場合は、開発元に問い合わせてみる
まとめ
「_load_textdomain_just_in_time」Noticeエラーについて解説しました。
WordPress 6.7以降、翻訳処理のタイミングチェックがより厳密になったことで、このNoticeが表示されやすくなりました。
致命的なエラーではなく、サイトの動作に直接影響を与えることはほとんどありません。主な原因は、プラグインやテーマが翻訳ファイルの読み込みを「init」アクションよりも早く実行していることです。
プラグインやテーマのアップデートを待つか、デバッグモードをオフにすることで対応できます。
もしあなたが開発者であれば、翻訳読み込み処理を「init」以降に移す修正を検討してください。
コメント