Memanggil AJAX dalam WordPress: Panduan Komprehensif untuk Menghasilkan Keputusan Bukan Sifar
Apabila membuat panggilan AJAX dalam WordPress, adalah penting untuk mempertimbangkan perbezaan antara persekitaran frontend dan backend. Walaupun WordPress mentakrifkan pembolehubah ajaxurl global di bahagian belakang, pembolehubah ini tidak ditakrifkan dalam bahagian hadapan. Oleh itu, untuk menggunakan panggilan AJAX di bahagian hadapan, anda mesti mentakrifkan sendiri pembolehubah ini secara eksplisit.
Menggunakan wp_localize_script:
Pendekatan praktikal untuk mentakrifkan pembolehubah ajaxurl di bahagian hadapan ialah menggunakan fungsi wp_localize_script. Contohnya, jika panggilan AJAX anda disertakan dalam fail JS bernama my-ajax-script.js, anda boleh menyetempatkannya seperti berikut:
<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>
Menggunakan Pembolehubah my_ajax_object dalam JavaScript:
Selepas menyetempatkan fail JS anda, anda boleh mengakses objek my_ajax_object. Ini membolehkan anda menghantar data ke fungsi PHP anda menggunakan AJAX:
<code class="javascript">jQuery.ajax({ type: "post", dataType: "json", url: my_ajax_object.ajax_url, data: formData, success: function(msg){ console.log(msg); } });</code>
Atas ialah kandungan terperinci Bagaimana untuk Membuat Panggilan AJAX yang Berjaya dalam WordPress Frontend?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!