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
- 2024-04-25 Apple travaillerait sur une puce de serveur IA personnalisée basée sur le processus 3 nm de TSMC
- 2024-04-25 des chercheurs utilisent des pièces de supercondensateur pour construire un nouveau type de batterie sodium-ion
- 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
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
- 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
- Qu’est-ce que le window.postMessage en HTML5 ?
- Comment mettre en œuvre les fonctions d’avance et de recul du navigateur pour les boutons de formulaires Web
- La disposition des tableaux est soudainement très confuse
- Comment déterminer si PHP est bon pour mon site Web ou WordPress ?
- Qu’est-ce qu’un langage de script
- Le rôle de la balise ul de liste non ordonnée
- L’impact de la mise en cache automatique sur les pages dynamiques
- Qu’est-ce qu’une déclaration de document XML ?
- Quelles valeurs peuvent être utilisées pour la propriété background-position ?
- Quelle est la différence entre fixe et absolu ?
- Dernière réponse
-
-
Comment éviter les soumissions en double de pages de formulaire
binary options system strategy page Réponse 2022-04-01 03:42:00
-
Comment déterminer si PHP est bon pour mon site Web ou WordPress ?
แอพเปลี่ยนรูปเป็นภาพวาด Réponse 2022-03-27 18:27:12
-
L’impact de la mise en cache automatique sur les pages dynamiques
50 deposit binary options Réponse 2022-03-24 05:31:20
-
Comment éviter les soumissions en double de pages de formulaire
free binary options signals providers of goods Réponse 2022-03-20 12:29:02
-
Comment éviter les soumissions en double de pages de formulaire
binary options strategy 5 minutes 15 min no loss acord Réponse 2022-03-20 09:44:29
-