Maison  >  Article  >  développement back-end  >  Comment passer des appels Ajax dans WordPress sans plugins ?

Comment passer des appels Ajax dans WordPress sans plugins ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-31 06:06:02967parcourir

How to Make Ajax Calls in WordPress Without Plugins?

Appeler Ajax dans Wordpress sans plugins : un guide complet

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn