【WordPress】「__()」と「_e()」について
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に登録するときなどに使用するものだと思います。
あわせて読んでほしい!
コメント
まだコメントはありません。