Maison > Article > développement back-end > Comment passer des appels Ajax dans WordPress sans plugins ?
Comme mentionné dans le numéro d'origine, passer des appels Ajax dans Wordpress sans utiliser les plugins peuvent parfois entraîner des résultats inattendus, comme toujours afficher « 0 » comme sortie. Cela est dû à l'absence d'une variable globale appelée ajaxurl dans le frontend. Wordpress crée cette variable lors de l'exécution mais la rend disponible uniquement sur le backend.
Pour résoudre ce problème, il est nécessaire de créer votre propre variable ajaxurl dans le frontend à l'aide de la fonction wp_localize_script. Voici un exemple de la façon de procéder :
<code class="php">function my_enqueue() { wp_enqueue_script( 'ajax-script', get_template_directory_uri() . '/js/my-ajax-script.js', array('jquery') ); wp_localize_script( 'ajax-script', 'my_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); } add_action( 'wp_enqueue_scripts', 'my_enqueue' );</code>
Ce code créera un objet my_ajax_object global dans le frontend, qui contient la propriété ajax_url. Vous pouvez ensuite utiliser cet objet dans votre code Javascript pour effectuer des requêtes Ajax, comme ceci :
<code class="javascript">jQuery.ajax({ type: "post", dataType: "json", url: my_ajax_object.ajax_url, data: formData, success: function(msg){ console.log(msg); } });</code>
En utilisant cette approche, vous pouvez effectuer avec succès des appels Ajax dans Wordpress sans recourir à des plugins. N'oubliez pas de modifier le nom du fichier ajax-script et les liens CDN pour qu'ils correspondent à la configuration de votre projet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!