WP_AJAX未验证和已验证

时间:2018-02-07 作者:simon

我已经构建了一个函数来获取通过ajax提供的Wordpress中的帖子。

$.ajax({
        url: \'/wp-admin/admin-ajax.php\',
        type: \'POST\',
        cache: false,
        data: {
          action: \'get_post_info\',
          postId: postId,
        },
        success: function(data){


      });
为了在用户未登录时工作,我使用了wp\\u ajax\\u nopriv。但当用户现在登录时,功能崩溃。

add_action(\'wp_ajax_nopriv_get_post_info\', \'get_post_info\');
function get_post_info(){
}
是否有像wp\\U ajax这样的功能可用于登录用户和未登录用户?

2 个回复
SO网友:Maxim Sarandi

add_action(\'wp_ajax_get_post_info\', \'get_post_info\');
add_action(\'wp_ajax_nopriv_get_post_info\', \'get_post_info\');
wp_ajax_nopriv_(action)仅在前端,并且仅针对未登录的用户。使用wp_ajax_(action) 对于已登录的用户。

SO网友:user2752173

正如在codex这个wp_ajax_nopriv 钩子不会为经过身份验证的用户触发,即当is\\u user\\u logged\\u in()返回true时。要处理未经身份验证和已验证的用户,还可以使用wp_ajax_(action).

结束

相关推荐

Ajax not working properly

我正在制作一个Ajaxing表单。此表单是自定义页面模板。数据的保存工作正常,但当表单提交时,页面会重定向到websiteurl/wp-admin/admin-ajax.php 带有白色空白页。我想要的是防止重新加载页面。我没有收到来自的任何错误消息error function.如何修复此问题?HTML<form method=\"POST\" action=\"<?php echo admin_url(\'admin-ajax.php\'); ?>\" id=\"modal-form-