web-dev-qa-db-ja.com

ワードプレスのテーマでテキストドメイン名を出力する関数を使っても大丈夫ですか

私はテーマに取り組んでいるので、翻訳できるようにしたいと思います。私は、テキストドメインがどうなるかわからないので、翻訳されたテキストにテキストドメインを含めていません。私は自分のテーマの名前を思いつくことができるまで、私は翻訳されたテキストにそれをハードコーディングする代わりに私のテキストドメイン名を出力するための関数を使うべきです。

例:

これはテキストドメインを追加する伝統的な方法です:

echo _e('Hello', 'my-theme-name');

私のアプローチはこのようなものです:

function text_domain() {
   define('TEXT_DOMAIN', 'my-theme-name', true );
   echo TEXT_DOMAIN;
}

そしてこんな感じで使う:

 echo _e('Hello', text_domian());

...そして私が私のテーマの名前を思いついたとき、私はただ一つの場所でそれを更新することができます代わりにすべてのファイルで何度も何度も。

質問:これはそれを行うには良い方法です、そして私は私のテーマがWordPressテーマレビューチームによって承認されることに問題が発生するでしょうか?

7
Fabian Amran

いいえ、これは問題ありません。ダメダメダメ。これが 私のお気に入りのOttoの引用

すべての変換関数の中で、何らかの理由で、PHP変数を文字列に含めることはできません。

Ottoはこれをより詳細に説明しますが、翻訳呼び出しは解析され、実行されませんと言う簡単な方法です。そのため、あなたの変数(あなたの関数はもちろん)は評価されず、テキストドメインは壊れます。

だから、あなたはあなたのテキストドメインに一時的にwpse241589のようなユニークな名前を使うことをお勧めします。

14
cjbj