web-dev-qa-db-fra.com

Est-il possible d'utiliser une fonction pour afficher le nom du domaine textuel dans un thème wordpress

Je travaille sur un thème et je souhaite le rendre disponible pour la traduction. Je n'ai pas inclus de domaine de texte dans le texte traduit, car je ne sais pas encore quel sera le domaine de texte. J'ai pensé que, jusqu'à ce que je puisse trouver un nom pour mon thème, je devrais simplement utiliser une fonction pour afficher mon nom de domaine de texte au lieu de le coder en dur sur le texte traduit.

EXEMPLE:

C'est la manière traditionnelle d'ajouter un domaine de texte:

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

mon approche est comme ça:

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

et en utilisant comme ceci:

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

... et lorsque je propose un nom pour mon thème, je peux simplement le mettre à jour au même endroit plusieurs fois dans chaque fichier.

LA QUESTION EST: Est-ce une manière acceptable de le faire et vais-je rencontrer des problèmes pour faire approuver mon thème par l'équipe de révision du thème WordPress?

7
Fabian Amran

Non, ça ne va pas. NON NON NON. Voici ma citation préférée d'Otto :

Dans toutes les fonctions de traduction, aucune variable PHP n'est autorisée dans les chaînes, pour quelque raison que ce soit.

Otto explique cela plus en détail, mais la manière simple de dire c’est que les appels de traduction sont analysés et non exécutés . Ainsi, votre variable (sans parler de votre fonction) ne peut pas être évaluée et le domaine de texte se rompt.

Vous feriez donc mieux d'utiliser un nom unique, tel que wpse241589, pour votre domaine textuel temporairement et de rechercher et de remplacer une fois que vous avez un meilleur nom.

14
cjbj