it-swarm.com.ru

Можно ли использовать функцию для вывода текстового имени домена в теме WordPress?

Я работаю над темой и хочу сделать ее доступной для перевода. Я не включал текстовую область в переведенный текст, потому что я еще не знаю, какой будет текстовая область. Я подумал, что пока я не смогу придумать название для моей темы, я должен просто использовать функцию для вывода имени моего текстового домена вместо жесткого кодирования его в переведенном тексте.

ПРИМЕР:

Это традиционный способ добавления текстового домена:

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

Нет, это не хорошо. НЕТ НЕТ НЕТ. Вот моя любимая цитата Отто :

Внутри всех функций перевода переменные PHP не допускаются в строках по любой причине, никогда.

Отто объясняет это более подробно, но простой способ сказать это то, что вызовы перевода анализируются, а не выполняются . Таким образом, ваша переменная (не говоря уже о вашей функции) может не оцениваться, и текстовый домен разрушается.

Итак, вам лучше временно использовать уникальное имя, например wpse241589, для вашего текстового домена и выполнять поиск и замену, как только вы получите более подходящее имя.

14
cjbj