1 回答
TA贡献1856条经验 获得超11个赞
查看代码,它似乎不像 Wordpress 做这种事情的方式。
首先,您需要将您ajax-process.php的插件包含在主文件中,例如:
require_once plugin_dir_path(__FILE__) . '/ajax-process.php';
其次,你需要像这样注册你的ajax回调:
add_action('wp_ajax_my_ajax_action', 'my_ajax_function');
add_action('wp_ajax_no_priv_my_ajax_action', 'my_ajax_function');
然后在其中注册 ajaxUrl,scripts_files_enqueue_scripts()以便可以从您的 javascript 访问它。该admin-ajax.php文件处理所有 ajax 请求:
wp_localize_script(
'js_file',
'ajax',
array(
'ajaxUrl' => admin_url('admin-ajax.php'),
)
);
然后在您的 javascript 中,您需要使用ajaxUrl并指定 ,action这将告诉 Wordpress 应触发哪个回调:
jQuery(function($) {
$('body').prepend('<button class="btn" type="button">PULL DATA</button>');
$('button.btn').on('click', function() {
$.post({
url: ajax.ajaxUrl,
data: {
req: '',
action: 'my_ajax_action',
},
success: function(data) {
alert(data);
},
error: function() {
alert('error');
}
});
});
这是一篇很好的文章AJAX in Plugins,解释了如何在插件中使用ajax。
- 1 回答
- 0 关注
- 152 浏览
添加回答
举报