Comment passer des variables PHP à JavaScript dans WordPress
Lorsque vous créez un thème ou un plugin WordPress, vous avez parfois du code JavaScript qui doit utiliser des données/valeurs de PHP. Par exemple, vous avez besoin de ces valeurs dans votre code JavaScript :
-
Homepage URL
Theme option values
WordPress posts data
etc
Le moyen le plus simple de le faire est d’initialiser ces valeurs dans des objets JavaScript dans votre fichier de thème header.php ou votre hook wp_head. Par exemple :
<script> var myThemeParams = { homeURL: <?php echo home_url(); ?>, themeOptions: <?php echo get_theme_mod( 'mytheme_options', false ); ?>, } </script>
Même si cela fonctionne, WordPress nous a fourni une fonction pour faire quelque chose comme ça. Il s’appelle wp_add_inline_script.
wp_add_inline_script( $handle, $data, $position = 'after' )
-
$handle : Nom du script auquel ajouter le script en ligne.
$data : Chaîne contenant le JavaScript à ajouter.
$position : s’il faut ajouter le script en ligne avant ou après le handle.
Cette fonction ajoutera un script en ligne avant ou après votre code JavaScript. Il peut en fait faire plus que transmettre des variables PHP à JavaScript. Vous pouvez voir un autre cas d’utilisation ici.
Ainsi, pour utiliser wp_add_inline_script pour passer des variables de PHP à JavaScript, vous devez définir les propriétés de position sur before afin qu’il ajoute le script en ligne avant votre fichier JS. Et puis initialisez un objet JavaScript et définissez la valeur avec les données de 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' );
Dans votre JavaScript, vous pouvez y accéder comme ceci :
console.log( myThemeParams.homeURL ); console.log( myThemeParams.themeOptions );
Questions connexes
- 2022-08-20 Google cherche à améliorer les résultats de recherche en empêchant le contenu non original
- 2022-08-16 Microsoft désactivera TLS 1.0 et 1.1 dans Internet Explorer et EdgeHTML le 13 septembre
- 2022-08-15 Google publie Read Along pour le Web : apprendre aux enfants à lire
- 2022-08-14 Les screencasts n’enregistrent pas dans Ubuntu 22.04 LTS ? Voici comment résoudre ce problème
- 2022-08-11 Les extraits de réponse de la recherche Google devraient désormais fournir des réponses de meilleure qualité
Votre point de vue
- 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
- free freaky porno 2楼
- Hi, all is going fine here and ofcourse every one is sharing data, that's in fact good, keep up writing.
- 发布于 2022/03/11 07:16
- cara buat robot forex sederhana 3楼
- Hello, all is going well here and ofcourse every one is sharing facts, that's in fact good, keep up writing.
- 发布于 2022/02/03 21:59
- Les meilleurs classements
-
- Comment passer de Windows 10 à Windows 11 gratuitement
- Comment éviter les soumissions en double de pages de formulaire
- Comment passer des variables PHP à JavaScript dans WordPress
- Qu’est-ce qu’un langage de programmation faiblement typé
- La différence entre les sauts de ligne et les marques de paragraphe
- Comment mettre en œuvre les fonctions d’avance et de recul du navigateur pour les boutons de formulaires Web
- Qu’est-ce que le window.postMessage en HTML5 ?
- La disposition des tableaux est soudainement très confuse
- Qu’est-ce qu’un langage de script
- Comment déterminer si PHP est bon pour mon site Web ou WordPress ?
- Qu’est-ce qu’une déclaration de document XML ?
- Le rôle de la balise ul de liste non ordonnée
- L’impact de la mise en cache automatique sur les pages dynamiques
- Quelle est la différence entre fixe et absolu ?
- Quelles valeurs peuvent être utilisées pour la propriété background-position ?
- Dernière réponse
-
-
Comment éviter les soumissions en double de pages de formulaire
family porno free video Réponse 2022-04-12 22:06:03
-
Comment éviter les soumissions en double de pages de formulaire
free porno wc Réponse 2022-04-04 17:47:28
-
Comment éviter les soumissions en double de pages de formulaire
binary options system strategy page Réponse 2022-04-01 03:42:00
-
L’impact de la mise en cache automatique sur les pages dynamiques
binary options magnet scams elderly Réponse 2022-03-29 14:06:24
-
Comment déterminer si PHP est bon pour mon site Web ou WordPress ?
แอพเปลี่ยนรูปเป็นภาพวาด Réponse 2022-03-27 18:27:12
-