【WordPress】「__()」と「_e()」について

公開日:
更新日:
カテゴリー: WordPress

WordPressのテーマをカスタマイズしようとしたら、「__( '○○○' )」のような記述があり、意味が分からなかったので調べてみました。あと、「_e('○○○')」も。

ここではその備忘録をしておきます。

「__()」と「_e()」について

「__()」および「_e()」は、国際化対応のためのWordPressのユーザー関数です(PHPの関数ではありません)。

この関数を端的に説明すると、「辞書に登録されている単語の翻訳を行う関数」と言えます。

__('英文テキスト', 'ロケール');

_e('英文テキスト', 'ロケール');

第1引数に渡された英文テキストを、第2引数に指定された「ロケール」に応じて翻訳します。

翻訳できない場合、引数に渡した文字列がそのまま返されます。

なお、第2引数を省略するとWordPress本体データの「wp-content/languages/ロケール名.mo」となります。

翻訳を行う

ひとつ例をあげると、「wp-content/languages/ロケール名.mo」に「Hello」は「こんにちは」に翻訳するようにすると、

__('Hello');

は「こんにちは」に翻訳されます。

「__()」と「_e()」の違い

「__()」と「_e()」の違いは、前者は変数に代入する用、後者は出力用です。

$string = __('Hello');
echo $string;

この場合、変数「$string」に「こんにちは」が代入され、これが出力されます。

_e('Hello');

この場合、「こんにちは」がダイレクトに出力されます。

基本、使うことはないかもしれませんが、プラグインを作成したり、自作テーマをWordPressに登録するときなどに使用するものだと思います。

 

あわせて読んでほしい!

 

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント