load_script_textdomain

説明

string|false load_script_textdomain( string $handle [ , string $domain = 'default' [ , string $path = null ] ] )
JavaScript向け翻訳ファイルを読み込む。

パラメータ

  • $handle
    JavaScriptのハンドル名を指定。
  • $domain
    ドメイン名を指定([5.1.0]省略時'default')。
  • $path
    翻訳ファイル(.json)があるディレクトリのフルパス名を指定(省略時null)。

返り値

翻訳ファイルが見つかった場合はその内容を返す。見つからなかった場合はfalseを返す。


注意

本関数はテーマやプラグインが wp_set_script_translations関数を使用した場合に呼び出される。JavaScript向け翻訳ファイルのファイル名は、「ドメイン名-ロケール名-ハンドル名.json」か「ドメイン名-ロケール名-md5ハッシュ値.json」となる(md5ハッシュ値は対象のJavaScriptファイルのパス名の一部から生成)。

[5.0.2]'script_loader_src'フィルターがなくなり、'load_script_textdomain_relative_path'フィルターが追加された。また翻訳ファイルの読み込みは load_script_translations関数が使用されるように変更された。

[5.1.0]第2パラメータ$domainが省略可能になった。


使用例

  • プラグイン内のJavaScript向け翻訳ファイルを読み込む。
    <?php $content = load_script_textdomain( 'myplugin-script', 'myplugin-domain', dirname( __FILE__ ) . '/languages' ); ?>

フィルター

[5.0.2]JavaScriptファイルの相対パス名を確定したら'load_script_textdomain_relative_path'フィルターを呼び出す。パラメータ$relativeにはJavaScriptファイルの相対パス名が、$srcにはJavaScriptファイルのURLが格納されている。
$relative = apply_filters( 'load_script_textdomain_relative_path', $relative, $src );
[5.0.0]$pathで指定されたディレクトリに翻訳ファイルが存在しなかった場合に'script_loader_src'フィルターを呼び出す。パラメータ$srcにはハンドル名に紐づけられたJavaScriptファイルのパス名が、$handleには本関数が受け取った内容が格納されている。
$src = esc_url( apply_filters( 'script_loader_src', $src, $handle ) );

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/l10n.php

最終更新 : 2019年02月26日 10:18



お勧め

プラグインのロード順を制御する(2014年6月9日 更新)

これまでプラグインがどのような順番でロードされるか意識していなかったのだが、とある自作プラグインを他のプラグインよりも先にロードさせたくなったので調べてみた。

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。

Contact Form 7に確認フェーズを(2012年12月16日 更新)

Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。

プラグインのヘッダー情報を国際化対応しよう(2018年5月27日 更新)

バージョン4.8がリリースされてひと段落。あらためてプラグイン一覧ページを見てみると「Akismet」が「Akismet Anti-Spam (アンチスパム)」と表示されていた。説明文だけじゃなくプラグイン名も国際化対応できたのね。

メタボックスをクラシックエディターのみで表示する(2019年1月15日 更新)

投稿画面向けにメタボックスを使ったプラグインがあり、それがブロックエディターで意図した通りに機能しなかった。この対処方法を考える過程でエディタータイプに応じてメタボックスを出し分けできる方法が見つかったので紹介したい。