概要
load_child_theme_textdomain
関数は、WordPressの子テーマに対して国際化用のファイルをロードするために使用されます。この関数を使用することで、子テーマの翻訳ファイルを正しく読み込むことができ、ユーザーに対して多言語のインターフェースを提供することが可能になります。以下に、この関数がよく使われるシナリオをいくつか挙げます。
- 子テーマの翻訳を提供する際
- マルチサイト環境で特定の子テーマを使用する際
- 製品の国際化を行う際
- ラングエージュパックを使用する際
- プラグインとの互換性を持たせるため
- ユーザーインターフェースのカスタマイズにおいて
- お問い合わせフォームなどの多言語対応
- 定期的なテーマ更新後に翻訳を維持するため
構文
load_child_theme_textdomain( $domain, $path );
パラメータ
$domain
(string): 翻訳ファイルを一意に識別するドメイン名。$path
(string) [optional]: 翻訳ファイルが格納されているパス。指定しない場合は、デフォルトのlanguages
ディレクトリが使用されます。
戻り値
この関数は、特に戻り値を持たず、処理が成功したかどうかに関する情報を返しません。
関連する関数
使用可能なバージョン
この関数はWordPress 3.0以降で使用可能です。
コアファイルのパス
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 |
サンプルコード
サンプルコード1: 基本的なload_child_theme_textdomain
の使用
function my_child_theme_setup() {
load_child_theme_textdomain( 'my-child-theme', get_stylesheet_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'my_child_theme_setup' );
このサンプルコードでは、子テーマのテキストドメインを設定し、指定したlanguages
ディレクトリから翻訳ファイルをロードします。
サンプルコード2: 翻訳ファイルのパスを変更
function custom_load_textdomain() {
load_child_theme_textdomain( 'my-child-theme', get_stylesheet_directory() . '/custom-languages' );
}
add_action( 'after_setup_theme', 'custom_load_textdomain' );
ここでは、翻訳ファイルのパスをデフォルトの languages
から custom-languages
に変更しています。
サンプルコード3: 特定の言語でのみ翻訳をロード
function my_custom_load_textdomain() {
if ( get_locale() == 'fr_FR' ) {
load_child_theme_textdomain( 'my-child-theme', get_stylesheet_directory() . '/languages/fr_FR' );
}
}
add_action( 'after_setup_theme', 'my_custom_load_textdomain' );
フランス語のロケールが設定されている場合にのみ、同フランス語の翻訳ファイルをロードします。
サンプルコード4: プラグインの読み込みと一緒に翻訳をロード
function load_textdomain_with_plugin() {
load_child_theme_textdomain( 'my-child-theme' );
}
add_action( 'plugins_loaded', 'load_textdomain_with_plugin' );
プラグインが読み込まれた後に子テーマの翻訳をロードする場合の例です。
サンプルコード5: デフォルトのテキストドメインでの翻訳
function default_theme_textdomain() {
load_child_theme_textdomain( 'default' );
}
add_action( 'after_setup_theme', 'default_theme_textdomain' );
デフォルトのテキストドメインとして default
を設定し、翻訳ファイルをロードします。
各サンプルコードは、WordPressの公式ドキュメントやフォーラムから得られた一般的な実践例です。