_e関数と関数は翻訳をつかさどる関数です。開発者にとっては便利なのですが、@web_shufuのような日本人一般ユーザーにとっては、「最初から日本語で書いとけや~」と毒づきたくなる関数です。ですので、テーマをカスタマイズするときは、_e関数と関数をなるべく除去するほうがいい気がします。
_e関数
_e関数は、ワードプレス本体やテーマの国際化ファイルに登録されている英語のフレーズを翻訳して、HTMLのソース上に出力してくれます。
ですから、例えば、
<?php _e( ‘Menu’, ‘twentytwelve’ ); ?>
は、「Menu」を和訳した「メニュー」を、HTMLのソース上に出力します。
__関数
一方、__関数は、ワードプレス本体やテーマの国際化ファイルに登録されている英語のフレーズを翻訳するところまでは、_e関数と同じ働きをします。
しかし、翻訳結果を出力せず、PHPの値として渡すだけです。
ですから、
<?php __( ‘Menu’, ‘twentytwelve’ ); ?>
は、HTMLソース上になにも出力しません。__関数はPHP上でしか働きません。
何でも翻訳できるほど便利ではない
ちなみに、どちらの関数も、あらかじめ登録されている語句を翻訳することしか出来ないことに注意しないといけません。
「Menu」は登録されている語句なので「メニュー」と翻訳されますが、「web_shufu」と入力しても「ウェブシュフ」と翻訳されるわけもありません。
その辺ご注意を!!
_e関数と__関数はなくす方向で
_e関数と__関数をざっくり理解していただくとわかりますが、一般ユーザにとって利用するメリットがほとんどありません。
<?php _e( ‘Menu’, ‘twentytwelve’ ); ?>
なんて、単なる
メニュー
と同じ意味ですよ。
ですので、テーマをカスタマイズする際には、_e関数と__関数を見つけ次第なるべく排除する方向で動くことをオススメします。