load_textdomain()


WordPressのload_textdomain()関数は、指定されたテキストドメインを読み込み、翻訳ファイルをロードするために使用されます。この関数は、プラグインやテーマの国際化(i18n)を実現するために重要な役割を果たします。

構文

load_textdomain( string $domain, string $mofile );

引数の説明:

  • $domain(string) — テキストドメインを指定します。これは翻訳ファイルを識別するための一意の識別子です。
  • $mofile(string) — .moファイルのパスを指定します。このファイルには翻訳データが含まれています。

例1: 基本的なテキストドメインの読み込み

この例では、プラグインの翻訳ファイルを読み込みます。

load_textdomain('my-plugin', WP_PLUGIN_DIR . '/my-plugin/languages/my-plugin-ja.mo');

例2: テーマの翻訳ファイルを読み込む

テーマの翻訳ファイルを読み込む例です。

load_textdomain('my-theme', get_template_directory() . '/languages/my-theme-ja.mo');

例3: 言語ファイルが存在するか確認してから読み込む

ファイルが存在する場合にのみ翻訳ファイルを読み込みます。

$mofile = get_template_directory() . '/languages/my-theme-ja.mo'; if (file_exists($mofile)) { load_textdomain('my-theme', $mofile); }

例4: プラグインディレクトリ内の翻訳ファイルを読み込む

プラグインディレクトリ内の翻訳ファイルを読み込む例です。

load_textdomain('my-plugin', plugin_dir_path(__FILE__) . 'languages/my-plugin-ja.mo');

例5: カスタムパスを使用して翻訳ファイルを読み込む

カスタムパスを使用して翻訳ファイルを読み込む例です。

load_textdomain('my-plugin', '/custom/path/to/languages/my-plugin-ja.mo');

例6: 複数の翻訳ファイルを読み込む

複数の翻訳ファイルを読み込む例です。

load_textdomain('my-plugin', WP_PLUGIN_DIR . '/my-plugin/languages/my-plugin-ja.mo'); load_textdomain('my-plugin', WP_PLUGIN_DIR . '/my-plugin/languages/my-plugin-en.mo');

例7: 言語ファイルを動的に読み込む

現在のロケールに基づいて動的に翻訳ファイルを読み込む例です。

$locale = get_locale(); load_textdomain('my-plugin', WP_PLUGIN_DIR . '/my-plugin/languages/my-plugin-' . $locale . '.mo');

例8: 翻訳ファイルの読み込みに失敗した場合の処理

翻訳ファイルの読み込みに失敗した場合にエラーメッセージを表示する例です。

if (!load_textdomain('my-plugin', WP_PLUGIN_DIR . '/my-plugin/languages/my-plugin-ja.mo')) { error_log('翻訳ファイルの読み込みに失敗しました'); }

注意点

  • 翻訳ファイルが正しいパスに存在することを確認してください。
  • テキストドメインは一意である必要があります。他のプラグインやテーマと競合しないように注意してください。
  • 翻訳ファイルの形式は.moファイルである必要があります。

関連機能: