Ist es in Ordnung, eine Funktion zum Ausgeben des Textdomänennamens in einem WordPress-Theme zu verwenden?


7

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 aufgenommen, da ich noch nicht weiß, wie die Textdomäne aussehen wird. Ich dachte mir, bis ich einen Namen für mein Thema finden kann, sollte ich einfach eine Funktion verwenden, um meinen Textdomänennamen auszugeben, anstatt ihn hart auf übersetzten Text zu codieren.

BEISPIEL:

Dies ist die traditionelle Methode zum Hinzufügen einer Textdomäne:

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, anstatt ein paar Mal in jeder Datei.

DIE FRAGE IST: Ist dies eine gute Möglichkeit und werde ich Probleme haben, mein Thema vom WordPress-Themenüberprüfungsteam zu genehmigen?

Antworten:


14

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

Innerhalb aller Übersetzungsfunktionen sind aus irgendeinem Grund niemals PHP-Variablen in den Zeichenfolgen zulässig.

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

wpse241589Sie sollten also vorübergehend einen eindeutigen Namen wie für Ihre Textdomäne verwenden und eine Suche durchführen und ersetzen, sobald Sie einen besseren Namen haben.


3
Der Artikel, auf den Sie verwiesen haben, hat meine Frage beantwortet. Ich schätze es sehr, dass Sie sich die Zeit genommen haben, diese Frage zu beantworten.
Fabian Amran

Ich spreche von meiner eigenen, umstrittenen Version der Textdomäne: wordpress.stackexchange.com/questions/227148/…
cjbj

Sehr lehrreiche Antwort und Link
Adelval
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.