WordPress 添加 ajax 接口
要在 WordPress 中添加 AJAX 接口,需要遵循以下步骤:
1、在主题或插件的 functions.php 文件中注册 AJAX 处理程序函数。可以使用 wp_ajax_ 和 wp_ajax_nopriv_ 钩子来分别注册需要验证用户和不需要验证用户的 AJAX 处理程序。例如:
add_action( 'wp_ajax_my_ajax_handler', 'my_ajax_handler' );
add_action( 'wp_ajax_nopriv_my_ajax_handler', 'my_ajax_handler' );
function my_ajax_handler() {
// 处理 AJAX 请求
wp_send_json_success( $data ); // 返回 JSON 数据
wp_die(); // 终止请求
}
2、在 JavaScript 文件中,使用 jQuery(或其他 JavaScript 库)来向网站发送 AJAX 请求。例如:
jQuery.ajax({
url: ajaxurl, // WordPress 提供的全局变量
type: 'POST',
data: {
action: 'my_ajax_handler', // 对应 functions.php 中的钩子
// 其他数据参数
},
success: function(response) {
// 处理服务器返回的 JSON 数据
}
});
注意,需要在 JavaScript 文件中定义 ajaxurl 全局变量,以便能够向正确的 URL 发送 AJAX 请求。可以使用以下代码在 WordPress 中添加这个全局变量:
wp_enqueue_script( 'my-script', get_stylesheet_directory_uri() . '/js/my-script.js', array( 'jquery' ), '1.0', true );
wp_localize_script( 'my-script', 'my_script_vars', array(
'ajaxurl' => admin_url( 'admin-ajax.php' )
) );
这样,就可以在 WordPress 中添加 AJAX 接口了。
真诚赞赏,手留余香