概要
load_script_textdomain
フィルタは、JavaScript向け翻訳ファイルを読み込む際に使用されるフィルタです。これにより、適切なローカライズされたスクリプトをユーザーの言語に合わせて管理することが可能です。
このフィルタは以下のような機能を実装する際によく使われます:
- 言語によるAPIのローカライズ
- プラグインやテーマのスクリプト内のテキストの翻訳
- ダッシュボードやフロントエンドのインターフェースの多言語対応
- 自動的なローカライズファイルの読み込み
- ユーザー設定に基づく動的な翻訳
- 翻訳ファイルの組織化
- プラグインの特定機能への翻訳ファイルの追加
- テーマカスタマイザーの言語対応
フィルタの構文:
apply_filters( 'load_script_textdomain', $domain, $path );
パラメータ
$domain
: 翻訳のドメイン。$path
: 翻訳ファイルのパス。
戻り値
- 読み込む翻訳ファイルのパスを返します。
関連する関数
使用可能なバージョン
- WordPress 4.0 以降
コアファイルのパス
wp-includes/functions.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
add_filter('load_script_textdomain', function($domain, $path) {
// スクリプト翻訳ファイルのパスをカスタマイズ
if ($domain === 'my-plugin') {
$path = '/path/to/my-plugin/languages/';
}
return $path;
});
このコードは、特定のプラグインの翻訳ファイルが読み込まれるパスをカスタマイズします。
サンプルコード 2
add_filter('load_script_textdomain', function($domain, $path) {
// 特定の条件でパスを変更
if (is_admin()) {
$path = '/path/to/admin/languages/';
}
return $path;
});
このコードは、管理画面でのみ異なる翻訳ファイルのパスを返します。
サンプルコード 3
add_filter('load_script_textdomain', function($domain, $path) {
// wp_enqueue_script()の前にカスタマイズを行う
if ($domain === 'my-script') {
$path = '/custom/languages/my-script/';
}
return $path;
});
このコードは、特定のスクリプトに対してカスタム翻訳ファイルのパスを指定します。
サンプルコード 4
add_filter('load_script_textdomain', function($domain, $path) {
// 子テーマの翻訳ファイルを指定
if ($domain === 'my-child-theme') {
$path = get_stylesheet_directory() . '/languages/';
}
return $path;
});
このコードは、子テーマの翻訳ファイルの読み込みパスを設定しています。
サンプルコード 5
add_filter('load_script_textdomain', function($domain, $path) {
// プラグイン変更用のフィルタ
if ($domain === 'example-plugin') {
$path = '/example-plugin/languages/';
}
return $path;
});
このコードは、特定のプラグインに対する翻訳ファイルのパスを設定するものです。
これらのサンプルコードやフィルタの詳細についての情報は、WordPressの公式ドキュメントや関連リソースから取得可能です。