Est-il acceptable d’utiliser une fonction pour afficher le nom de domaine de texte dans un thème wordpress

Publié par Jean-Michel le

Je travaille sur un thème et je veux 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é, jusqu’à ce que je puisse trouver un nom pour mon thème, je devrais simplement utiliser une fonction pour sortir mon nom de domaine de texte au lieu de le coder en dur sur le texte traduit.

EXEMPLE:

Voici la manière traditionnelle d’ajouter un domaine de texte :

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

mon approche est la suivante:

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

et en utilisant comme ceci:

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

… et quand je trouve un nom pour mon thème, je peux simplement le mettre à jour à un seul endroit au lieu de plusieurs fois dans chaque fichier.

LA QUESTION EST : Est-ce une bonne façon de procéder et vais-je rencontrer des problèmes pour faire approuver mon thème par l’équipe de révision des thèmes WordPress ?

Solution n°1 trouvée

Non, ce n’est pas correct. 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 façon la plus simple de le dire est que les appels de traduction sont analysés et non exécutés . Ainsi, votre variable (sans parler de votre fonction) peut ne pas être évaluée et le domaine du texte se brise.

Donc, il vaut mieux utiliser un nom unique comme wpse241589pour votre domaine de texte temporairement et faire une recherche et remplacer une fois que vous avez un meilleur nom.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *