今日はWordPressとテンプレートの理解を深めるためにテーマを通して取り組んでいます。私はこれを発見しました:
<?php
printf(
__('Designed by %s', 'Anyword'),
'<a href="http://www.example.com">Blub</a>'
);
?>
"Blubがリンクされている場所"と表示されていますが、__()
とはどういう意味ですか、またはなぜ文字列の挿入があるのでしょうか。 Anywordとは何ですか?
誰かが私のためにこの行を正確に説明できますか?
これは テキスト翻訳 に使われます。
2番目の引数は、翻訳を取得するための 一種の名前空間 (ここではドメインと呼ばれます)です(例えば、専用ファイルまたはその他のものから)。
そのため、ここではAnyword
をテンプレートの背後にいる人、会社、あるいはドメイン/名前空間にすることができます。
編集:
Wordpressのドキュメントには、どのように プラグインを国際化 するかについてのさらなる説明があります。
これをプラグインコードに追加して、言語ファイルが確実にロードされるようにします。
load_plugin_textdomain('your-unique-name', false, basename( dirname( __FILE__ ) ) . '/languages' );
文字列を取得するには、単に__('String name','your-unique-name');
を使って翻訳を返すか、_e('String name','your-unique-name');
を使って翻訳をエコーします。翻訳はあなたのプラグインの/ languagesフォルダに入ります。
あなたのプラグイン/テーマの場合、your-unique-name
はAnyword
のようです。