So übergeben Sie PHP-Variablen an JavaScript in WordPress
Wenn Sie ein WordPress-Theme oder -Plugin erstellen, haben Sie manchmal JavaScript-Code, der Daten/Werte von PHP verwenden muss. Sie benötigen beispielsweise diese Werte in Ihrem JavaScript-Code:
-
Homepage URL
Theme option values
WordPress posts data
etc
Der einfachste Weg, dies zu tun, besteht darin, diese Werte in JavaScript-Objekten in Ihrer header.php-Themedatei oder Ihrem wp_head-Hook zu initialisieren. Zum Beispiel :
<script> var myThemeParams = { homeURL: <?php echo home_url(); ?>, themeOptions: <?php echo get_theme_mod( 'mytheme_options', false ); ?>, } </script>
Auch wenn es funktioniert, aber WordPress hat uns eine Funktion zur Verfügung gestellt, um so etwas zu tun. Es heißt wp_add_inline_script.
wp_add_inline_script( $handle, $data, $position = 'after' )
-
$handle : Name des Skripts, zu dem das Inline-Skript hinzugefügt werden soll.
$data : String, der das hinzuzufügende JavaScript enthält.
$position : Ob das Inline-Skript vor oder nach dem Handle hinzugefügt werden soll.
Diese Funktion fügt vor oder nach Ihrem JavaScript-Code ein Inline-Skript hinzu. Es kann tatsächlich mehr tun, als PHP-Variablen an JavaScript weiterzugeben. Einen weiteren Anwendungsfall sehen Sie hier.
Um also wp_add_inline_script zum Übergeben von Variablen von PHP an JavaScript zu verwenden, müssen Sie die Positionseigenschaften auf before setzen, damit das Inline-Skript vor Ihrer JS-Datei hinzugefügt wird. Und dann initialisieren Sie ein JavaScript-Objekt und setzen den Wert mit Daten von PHP.
$myThemeParams = array( 'homeURL' => home_url(), 'themeOptions' => get_theme_mod( 'mytheme_options', false ) ); wp_enqueue_script( 'my-theme-script', get_template_directory_uri() . '/js/script.js' ); wp_add_inline_script( 'my-theme-script', 'var myThemeParams = ' . wp_json_encode( $myThemeParams ), 'before' );
In Ihrem JavaScript können Sie wie folgt darauf zugreifen:
console.log( myThemeParams.homeURL ); console.log( myThemeParams.themeOptions );
Verwandte Themen
- 2024-04-25 Apple arbeitet angeblich an einem benutzerdefinierten KI-Serverchip, der auf dem 3-nm-Prozess von TSMC basiert
- 2024-04-25 Forscher bauen aus Teilen von Superkondensatoren eine neue Art von Natrium-Ionen-Batterie
- 2022-08-20 Google versucht, die Suchergebnisse zu verbessern, indem unoriginelle Inhalte verhindert werden
- 2022-08-16 Microsoft wird TLS 1.0 und 1.1 in Internet Explorer und EdgeHTML am 13. September deaktivieren
- 2022-08-15 Google veröffentlicht Read Along für das Web: Kindern das Lesen beibringen
Ihre Kommentare
- forex 1楼
- Hi would you mind letting me know which hosting company you're working with? I've loaded your blog in 3 completely different web browsers and I must say this blog loads a lot faster then most. Can you recommend a good web hosting provider at a fair price? Thank you, I appreciate it!
- 发布于 2022/03/17 09:11
- Hotness-Ranking
-
- So aktualisieren Sie kostenlos von Windows 10 auf Windows 11
- Vermeidung doppelter Formularseitenübertragungen
- So übergeben Sie PHP-Variablen an JavaScript in WordPress
- Was ist eine schwach typisierte Programmiersprache?
- Der Unterschied zwischen Zeilenumbrüchen und Absatzmarken
- Was ist die window.postMessage in HTML5?
- Wie man Browser-Vorwärts- und Rückwärtsfunktionen für Webformular-Schaltflächen implementiert
- Das Tabellenlayout ist plötzlich sehr verwirrend
- Wie kann ich feststellen, ob PHP für meine Website oder WordPress gut ist?
- Was ist eine Skriptsprache?
- Die Rolle des ul-Tags für eine unsortierte Liste
- Die Auswirkungen der automatischen Zwischenspeicherung auf dynamische Seiten
- Was ist eine XML-Dokumentdeklaration?
- Welche Werte können für die Eigenschaft background-position verwendet werden?
- Was ist der Unterschied zwischen fest und absolut?
- Letzte Antworten
-
-
Vermeidung doppelter Formularseitenübertragungen
binary options system strategy page Antwort 2022-04-01 03:42:00
-
Wie kann ich feststellen, ob PHP für meine Website oder WordPress gut ist?
แอพเปลี่ยนรูปเป็นภาพวาด Antwort 2022-03-27 18:27:12
-
Die Auswirkungen der automatischen Zwischenspeicherung auf dynamische Seiten
50 deposit binary options Antwort 2022-03-24 05:31:20
-
Vermeidung doppelter Formularseitenübertragungen
free binary options signals providers of goods Antwort 2022-03-20 12:29:02
-
Vermeidung doppelter Formularseitenübertragungen
binary options strategy 5 minutes 15 min no loss acord Antwort 2022-03-20 09:44:29
-