Panggilan ajax saya untuk data json berfungsi dengan baik seperti ini functions.php:
add_action( 'wp_ajax_nopriv_load-filter', 'prefix_load_cat_posts' );
add_action( 'wp_ajax_load-filter', 'prefix_load_cat_posts' );
function prefix_load_cat_posts () {
//get data here
}
javascript:
var ajaxurl = 'http://'+window.location.host+'/wp-admin/admin-ajax.php';
jQuery.ajax({
type: 'POST',
url: ajaxurl,
etc.
Saya punya 2 pertanyaan.
1) Mengapa menggunakan admin-ajax.php alih-alih menyandikan json Anda dalam file terpisah seperti themes/example/json.php
dan menyandikan data Anda di sana?
2) Bagaimana cara kerja admin-ajax.php? Saya tidak mengerti banyak dari file itu. Apakah ini memuat semua fungsi sehingga Anda siap untuk menggunakannya?
Terima kasih!
themes/example/json.php
harus dianggap sebagai kerentanan keamanan utamaJawaban:
Menggunakan
admin-ajax.php
berarti bahwa Core WordPress dimuat dan tersedia. Tanpa itu, Anda perlu memuat file-file yang Anda butuhkan, yang merupakan proses yang rumit dan cenderung gagal jika Anda tidak mengetahui Core dengan sangat baik. Dan, seberapa baguskah Anda dengan keamanan Javascript?$wpdb
dan$WP_Query
. Yaitu melalui sekitar baris 25.send_nosniff_headers()
nocache_headers()
.admin_init
kait kebakaran.$_GET
atau$_POST
.Item # 1 dan # 6 adalah alasan utama untuk menggunakan API AJAX, menurut saya. Anda memiliki WordPress Core, yang hampir pasti Anda butuhkan, dan Anda memiliki sistem keamanan login yang sama dengan WordPress lainnya.
sumber
admin-ajax.php
adalah bagian dari WordPress AJAX API , dan ya, ia menangani permintaan dari backend dan front. di sini apa yang saya temukan untuk pertanyaan Anda yaitu:untuk logikanya Anda bisa berkunjung ke sini.
Ini mengasumsikan Anda sudah tahu bagaimana cara membuat JavaScript, dll.
Bagian JavaScript:
Sepotong PHP:
semoga ini membantu. admin-ajax.php vs Template Halaman Kustom untuk Permintaan Ajax
sumber