没有使用wordpress api调用获取当前的用户ID

时间:2016-09-20 04:18:53

标签: wordpress

Wordpress用户登录Chrome浏览器并调用使用创建的自定义API 来自chrome扩展的wp-json插件,但在api文件中,我没有使用get_current_user_id()获取当前用户ID。

2 个答案:

答案 0 :(得分:0)

首先需要检查wp-load.php调用与否,它是API的一个功能。

在WordPress功能之外不起作用,因此需要调用 wp-load.php (此文件存在于wp根目录中),然后此 get_current_user_id()工作正常。

答案 1 :(得分:0)

1。。安装并激活JWT Authentication for WP REST API插件,还安装WP REST API插件
  2。。现在,您可以运行来自移动应用或任何其他来源或邮递员的任何wordpress默认api。例如,通过您的应用或邮递员访问此网址。 https://example.com/wp-json/wp/v2/posts
  3。。通过应用或邮递员,当您使用有效的详细信息登录(使用rest api)时,您将获得令牌。要登录并获取令牌,请按邮递员或按应用运行以下网址  https://example.com/wp-json/jwt-auth/v1/token  
  4。。通过这种方式,您将获得令牌,如图所示 postman and jwt authentication
现在使用此令牌登录用户详细信息,例如
5。在function.php中创建函数

function checkloggedinuser()
{
$currentuserid_fromjwt = get_current_user_id();
print_r($currentuserid_fromjwt);
exit;
}

 add_action('rest_api_init', function ()
{
  register_rest_route( 'testone', 'loggedinuser',array(
  'methods' => 'POST',
  'callback' => 'checkloggedinuser'
  ));
});


6。。现在再次在邮递员或应用程序中运行此新网址,以获取用户详细信息。 https://example.com/wp-json/testone/loggedinuser (用您的网址替换example.com) 如有任何疑问,可以在这里评论。

enter image description here