对于wp_ajax_nopriv来说,“已验证”到底是什么意思?

时间:2015-03-13 作者:Lee Loftiss

在为WP构建AJAX功能时,我一直认为“WP\\uajax\\unopriv”是为非管理员用户设计的。但现在我已经阅读了文档,它说这是为未经“身份验证”的用户提供的。

所以现在我有点困惑,因为默认情况下,WP不为前端提供AJAX url。

那么,当他们说“已验证”用户时,是指任何已登录的用户,还是指wp\\U ajax功能的管理员?

1 个回复
SO网友:birgire

此处的“已验证”是指根据is_user_logged_in() 功能,即用户是否登录,无论用户角色如何。

此部分来自admin-ajax.php 文件,解释了所有内容:

if ( is_user_logged_in() ) {
        /**
         * Fires authenticated AJAX actions for logged-in users.
         *
         * The dynamic portion of the hook name, `$_REQUEST[\'action\']`,
         * refers to the name of the AJAX action callback being fired.
         *
         * @since 2.1.0
         */
    do_action( \'wp_ajax_\' . $_REQUEST[\'action\'] );
} else {
        /**
         * Fires non-authenticated AJAX actions for logged-out users.
         *
         * The dynamic portion of the hook name, `$_REQUEST[\'action\']`,
         * refers to the name of the AJAX action callback being fired.
         *
         * @since 2.8.0
         */
    do_action( \'wp_ajax_nopriv_\' . $_REQUEST[\'action\'] );
}

结束

相关推荐

使用外部AJAX的WP_Widget动态字段数组

我正在创建Wordpress小部件,我必须通过JQUERY动态添加部分代码。ajax()一个JQUERY。将()追加到小部件窗体。我需要它,以便能够通过函数update()保存它。我对表单的每个字段都有PHP函数,但在wp\\U小部件中,我必须通过其函数获取名称和ID。如果我使用函数在wp\\u小部件子项之外获取名称:function gentitle($title,$num=\'\'){ $widget=new WP_Widget(); r