Werteübergabe PHP zu JavaScript mit WordPress

Die Zeiten ändern sich.

Dieser Beitrag scheint älter als 12 Jahre zu sein – eine lange Zeit im Internet. Der Inhalt ist vielleicht veraltet.

Beim Erstellen von Plugins und Theme-Funktion hat sich das Schreiben für das Nutzen der Mehrsprachigkeit etabliert. Für uns als deutsche Entwickler nicht mehr wegzudenken, gibt es trotzdem diverse Fallstricke und bei der Nutzung von JavaScript in Erweiterungen, ist man am überlegen, wie man die Mehrsprachigkeit umsetzt oder auch Optionswerte übergibt. WordPress stellt dazu Möglichkeiten bereit und es ist an der Zeit diese wieder bekannter zu machen, da die Frage immer wieder auftaucht und die Entwickler nach den Möglichkeiten suchen. Das folgende kleine Beispiel soll die Umsetzung verdeutlichen und die einfache Übergabe von Strings demonstriert dies. Ob nun Strings für die Mehrsprachigkeit oder die Übergabe von Optionswerten, ist dabei relativ egal.

ersten Schritt wird eine Funktion mit einem Array erstellt, die die benötigten Inhalte enthält und mittels Variablen kann auf die jeweiligen Inhalte zugegriffen werden


function get_language_strings() {
    $strings = array(
        'example' => __( 'My Example String', TEXTDOMAIN_CONSTANT ),
        'foo'   => __( 'My foo string', TEXTDOMAIN_CONSTANT ),
        'bar'   => __( 'My bar', TEXTDOMAIN_CONSTANT )
    )

    return $strings;
}

Beim Aufruf der Erweiterung, Plugin oder im Theme, muss die Funktion geladen werden. Dafür stellt WordPress die Funktion wp_localize_script() bereit, die sich um alles kümmert:


wp_localize_script( 
                       'my_foo', 
                       'my_var_prefix',
                       $this->get_language_strings() // inside class
);

In den Scripten kann nun auf die Variablen zugegriffen werden:


alert( my_var_prefix.example );

Kein Einbinden der wp-load.php oder ähnliches, einfach auf die Inhalte zugreifen. Die Strings werden nun in allen Sprachen mit Hilfe der klassischen Methoden übersetzt und es gilt lediglich die entsprechenden Dateien anzulegen.

Von Frank Bültge

bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.