我应该使用哪种WP-API身份验证方法来与匿名/未登录的访问者交互?

时间:2015-12-21 作者:Jan Beck

我将跟踪访客和用户在我的网站上播放视频的次数。每当视频开始播放时,我都会在前端使用JavaScript进行事件处理并写入wp_optionswp_usermeta 跟踪这些交互。

我打算向wp_ajax_$actionwp_ajax_nonpriv_$action hooks,但我想利用这个小任务作为一个机会来试验新的RESTAPI,因为我听说它将取代旧的RESTAPIwp-admin/admin-ajax.php 从长远来看,这样做的方式。

我应该如何处理这个问题?

1 个回复
最合适的回答,由SO网友:jgraup 整理而成

在里面WP REST API v2 使用permission_callback 在中找到Adding Custom Endpoints Docs.

<?php
add_action( \'rest_api_init\', function () {
    register_rest_route( \'myplugin/v2\', \'/author/(?P<id>\\d+)\', array(
        \'methods\' => \'GET\',
        \'callback\' => \'my_awesome_func\',
        \'args\' => array(
            \'id\' => array(
                \'validate_callback\' => \'is_numeric\'
            ),
        ),
        \'permission_callback\' => function (WP_REST_Request $request) {
            if ( current_user_can( \'edit_others_posts\' ) ) {
                return true;
            } 
            else { 
                return false;
            }
        }
    ) );
} );

相关推荐

WordPress AJAX错误400向远程站点发送数据的错误请求

我正在使用发件人。net获取电子邮件订阅列表。这个网站给了我一些信息,可以将用户的电子邮件添加到订阅列表中。我想使用WordPress ajax来实现这一点。但它返回错误400错误请求。我的代码是:文件ajax新闻脚本。js公司: jQuery(document).ready(function($){ // Perform AJAX send news on form submit $(\'form#fnews\').on(\'submit\', funct