web-dev-qa-db-de.com

Ist es in Ordnung, eine Funktion zur Ausgabe des Textdomänennamens in einem WordPress-Design zu verwenden?

Ich arbeite an einem Thema und möchte es für die Übersetzung zur Verfügung stellen. Ich habe keine Textdomäne in übersetzten Text eingefügt, da ich noch nicht weiß, wie die Textdomäne aussehen wird. Ich dachte, bis ich einen Namen für mein Thema finden kann, sollte ich nur eine Funktion verwenden, um meinen Textdomänennamen auszugeben, anstatt ihn auf dem übersetzten Text fest zu codieren.

BEISPIEL:

So fügen Sie traditionell eine Textdomäne hinzu:

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

mein Ansatz ist wie folgt:

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

und wie folgt verwenden:

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

... und wenn ich einen Namen für mein Thema finde, kann ich ihn einfach an einer Stelle aktualisieren, und zwar mehrmals in jeder Datei.

DIE FRAGE IST: Ist dies ein guter Weg, um es zu tun, und stoße ich auf Probleme, wenn mein Thema vom WordPress-Theme-Review-Team genehmigt wird?

7
Fabian Amran

Nein, das ist nicht in Ordnung. NEIN NEIN NEIN. Hier ist mein Lieblingszitat von Otto :

In allen Übersetzungsfunktionen sind keine PHP -Variablen in den Zeichenfolgen zulässig, aus welchem ​​Grund auch immer.

Otto erklärt dies ausführlicher, aber die einfache Art zu sagen: Übersetzungsaufrufe werden analysiert, nicht ausgeführt . Daher wird Ihre Variable (geschweige denn Ihre Funktion) möglicherweise nicht ausgewertet und die Textdomäne wird unterbrochen.

Verwenden Sie daher vorübergehend einen eindeutigen Namen wie wpse241589 für Ihre Textdomäne, und führen Sie eine Suche und Ersetzung durch, sobald Sie einen besseren Namen haben.

14
cjbj