概要
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の公式ドキュメントやフォーラムから得られた一般的な実践例です。