¿Está bien usar una función para mostrar el nombre del dominio de texto en un tema de wordpress?

8

Estoy trabajando en un tema y quiero que esté disponible para traducir. No he incluido un dominio de texto en el texto traducido porque aún no sé cuál será el dominio de texto. Pensé, hasta que pueda encontrar un nombre para mi tema, solo debería usar una función para mostrar mi nombre de dominio de texto en lugar de codificarlo en el texto traducido.

EJEMPLO:

Esta es la forma tradicional de agregar un dominio de texto:

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

Mi enfoque es así:

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

y utilizando así:

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

... y cuando se me ocurre un nombre para mi tema, puedo actualizarlo en un solo lugar en lugar de un montón de veces en cada archivo.

LA PREGUNTA ES: ¿Es esta una buena forma de hacerlo y me encontraré con problemas para que mi tema sea aprobado por el equipo de revisión de temas de WordPress?

    
pregunta Fabian Amran 05.10.2016 - 09:58

1 respuesta

14

No, esto no está bien. NO NO NO. Aquí está mi cita favorita de Otto :

  

Dentro de todas las funciones de traducción, no se permiten variables de PHP en el   cuerdas, por cualquier razón, nunca.

Otto explica esto con más detalle, pero la forma sencilla de decir es que las llamadas de traducción se analizan, no se ejecutan . Por lo tanto, su variable (y mucho menos su función) puede no ser evaluada y el dominio de texto se rompe.

Por lo tanto, es mejor usar un nombre único como wpse241589 para tu dominio de texto temporalmente y hacer una búsqueda y reemplazo una vez que tengas un nombre mejor.

    
respondido por el cjbj 05.10.2016 - 10:26

Lea otras preguntas en las etiquetas