ワードプレスのload_theme_textdomain関数の使用方法・解説

概要

load_theme_textdomain関数は、WordPressテーマ用のMOファイルをロードするために用いられます。この関数を使用することによって、テーマ内の文字列の翻訳を可能にし、国際化をサポートします。この関数は主に以下のような機能を実装する際によく使われます。

  1. テーマの翻訳ファイルの読み込み
  2. 多言語対応のユーザーインターフェースの構築
  3. プラグインとテーマ間の翻訳の一貫性の確保
  4. カスタムポストタイプやウィジェット用の翻訳機能の提供
  5. マルチサイト環境での多言語サポート
  6. のらうす翻訳(POTファイル)の提供
  7. ウェブサイトのローカライズを容易にする
  8. 国内市場向けの特定の翻訳ニーズに応える

構文

load_theme_textdomain( $domain, $path );

パラメータ

  • $domain (string): テーマのテキストドメイン名。
  • $path (string): MOファイルの保存場所。省略した場合、通常はテーマのディレクトリ内が対象となります。

戻り値

この関数は真偽値を返します。成功した場合はtrue、失敗した場合はfalseを返します。

関連する関数

  • https://refwp.com/?titleonly=1&s=translator
  • https://refwp.com/?titleonly=1&s=gettext
  • https://refwp.com/?titleonly=1&s=ungettext
  • https://refwp.com/?titleonly=1&s=_x

使用可能なバージョン

この関数はWordPress 2.2.0以降で利用可能です。

コアファイルパス

load_theme_textdomain関数は次のファイルに含まれています:
wp-includes/l10n.php

この関数のアクションでの使用可能性

アクション名 使用例
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

以下にload_theme_textdomain関数の具体的な使用例を示します。

サンプル1: テーマの翻訳ファイルを読み込む

function my_theme_setup() {
    load_theme_textdomain( 'mytheme', get_template_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'my_theme_setup' );

このコードは、”mytheme”というテキストドメインの翻訳ファイルをテーマの/languagesディレクトリからロードします。

サンプル2: 言語の選択を確認する

function check_language() {
    $current_lang = get_locale();
    if ( $current_lang == 'ja' ) {
        load_theme_textdomain( 'mytheme', get_template_directory() . '/languages' );
    }
}
add_action( 'setup_theme', 'check_language' );

このコードは、現在のロケールが日本語であることを確認し、日本語の翻訳をロードします。

サンプル3: プラグインとテーマの連携

function load_my_theme_textdomain() {
    load_theme_textdomain( 'mytheme', dirname( __FILE__ ) . '/languages' );
}
add_action( 'plugins_loaded', 'load_my_theme_textdomain' );

プラグインが読み込まれたときに、特定のテーマの翻訳ファイルをロードします。

サンプル4: テーマ初期化時の翻訳設定

function theme_init() {
    load_theme_textdomain( 'mytheme', get_template_directory() . '/languages' );
}
add_action( 'init', 'theme_init' );

このコードは、WordPressの初期化時にテーマの翻訳を設定します。

サンプル5: バージョン確認と翻訳ファイルのロード

if ( version_compare( get_bloginfo( 'version' ), '5.0', '>=' ) ) {
    load_theme_textdomain( 'mytheme', get_template_directory() . '/languages' );
}

このコードは、WordPressがバージョン5.0以上の場合にのみ、翻訳ファイルを読み込みます。

この関数について質問する


上の計算式の答えを入力してください