Não há problema em usar uma função para gerar o nome do domínio de texto em um tema de wordpress

8

Estou trabalhando em um tema e quero disponibilizá-lo para tradução. Eu não incluí um domínio de texto no texto traduzido porque não sei qual será o domínio do texto ainda. Eu imaginei, até que eu pudesse criar um nome para o meu tema, eu deveria apenas usar uma função para mostrar meu nome de domínio de texto em vez de codificá-lo no texto traduzido.

EXEMPLO:

Esta é a maneira tradicional de adicionar um domínio de texto:

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

minha abordagem é assim:

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

e usando assim:

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

... e quando eu obtenho um nome para o meu tema, posso atualizá-lo em um lugar, em vez disso, um monte de vezes em cada arquivo.

A PERGUNTA É: Essa é uma maneira correta de fazer isso e eu vou encontrar problemas para obter meu tema aprovado pela equipe de revisão de temas do WordPress?

    
por Fabian Amran 05.10.2016 / 09:58

1 resposta

14

Não, isso não está bem. NÃO NÃO NÃO. Aqui está minha favorita Otto quote :

  

Dentro de todas as funções de tradução, nenhuma variável PHP é permitida no   cordas, por qualquer motivo, sempre.

Otto explica isso com mais detalhes, mas a maneira simples de dizer é que as chamadas de tradução são analisadas, não executadas . Portanto, sua variável (sem falar na sua função) pode não ser avaliada e o domínio de texto é interrompido.

Então, é melhor usar um nome exclusivo como wpse241589 para seu texto virtual temporariamente e fazer uma pesquisa e substituir uma vez que você tenha um nome melhor.

    
por cjbj 05.10.2016 / 10:26