在WordPress中,所有的ajax請求都通過admin-ajax.php接管,只需要后臺簡單的添加動作,即可實現ajax請求。
創建函數
ajax分為管理員權限和普通用戶權限,統一以wp_ajax開頭,首先,在插件或者主題functions.php文件中,創建一個函數,例如:
function fun_hello_world(){
echo '大家好,我是渣渣灰';
wp_die();//停止內容
}
添加鉤子
add_action('wp_ajax_hello_world', 'fun_hello_world');//管理員調用
add_action('wp_ajax_nopriv_hello_world', 'fun_hello_world');//未登錄用戶可以調用
其中,第一個為鉤子名稱,wp_ajax_后面的內容,你自己起,例如這兒以hello_world結尾。第二個參數為函數名稱,我綁定了上面創建的這個函數。
那么,在管理員權限下,可以調用第一個動作,非管理員,可以調用第二個動作。調用第一個,如果沒有登錄,調用的話則為400錯誤。
調用方法
使用jquery。必須包含參數action,這個就是上面注冊的名稱了。
var data = {action: 'hello_world'}
$.post("<?php echo admin_url('admin-ajax.php');?>", data, function (data) {
//獲取內容回調
});
厲害