如何通过自定义端点从 WordPress 获取当前登录用户?
How to get current logged in user from WordPress via custom endpoints?
我的 WordPress 插件中有一个端点,并且正在使用它。我想获取当前登录 WordPress 的用户。我的端点如下所示:
add_action( 'rest_api_init', function () {
register_rest_route( 't2mchat/v2', '/get_curr_user', array(
'methods' => 'GET',
'callback' => 'get_curr_user'
));
});
回调函数:
function get_curr_user(WP_REST_Request $request){
$user = wp_get_current_user();
return $user;
}
这返回用户 ID 为 0
。
我在WordPress官网上看了一篇关于Authentication的文章,了解到我需要通过nonces
,但由于我是新手,所以我无法理解它所说的一切。
另外,我在我的 React 应用程序中这样调用这个端点:
loadData() {
return fetch(`/wordpress/wp-json/t2mchat/v2/get_curr_user`)
.then(response => response.json())
.then(responseJson => {
this.setState({ curr_user: responseJson });
//console.log(this.state.curr_user, "curr user role");
})
.catch(error => {
console.error(error);
});
}
我不确定如何在请求中传递 nonces
,以便我可以获得当前登录的用户。
任何 experience/idea 的人都可以建议我需要对我的代码进行哪些更改吗?
一个例子将不胜感激。
谢谢。
在您的 PHP 文件中包含 wp-load.php
include_once("wp-load.php");
然后您可以访问所有原生 Wordpress 函数,只需调用它们即可。
所以你必须能够通过 wp_get_current_user();
检索当前登录的用户
当 wordpress 初始化并从我的端点检索时,我使用会话存储来存储用户数据。它对我有用。
我的 WordPress 插件中有一个端点,并且正在使用它。我想获取当前登录 WordPress 的用户。我的端点如下所示:
add_action( 'rest_api_init', function () {
register_rest_route( 't2mchat/v2', '/get_curr_user', array(
'methods' => 'GET',
'callback' => 'get_curr_user'
));
});
回调函数:
function get_curr_user(WP_REST_Request $request){
$user = wp_get_current_user();
return $user;
}
这返回用户 ID 为 0
。
我在WordPress官网上看了一篇关于Authentication的文章,了解到我需要通过nonces
,但由于我是新手,所以我无法理解它所说的一切。
另外,我在我的 React 应用程序中这样调用这个端点:
loadData() {
return fetch(`/wordpress/wp-json/t2mchat/v2/get_curr_user`)
.then(response => response.json())
.then(responseJson => {
this.setState({ curr_user: responseJson });
//console.log(this.state.curr_user, "curr user role");
})
.catch(error => {
console.error(error);
});
}
我不确定如何在请求中传递 nonces
,以便我可以获得当前登录的用户。
任何 experience/idea 的人都可以建议我需要对我的代码进行哪些更改吗?
一个例子将不胜感激。
谢谢。
在您的 PHP 文件中包含 wp-load.php
include_once("wp-load.php");
然后您可以访问所有原生 Wordpress 函数,只需调用它们即可。 所以你必须能够通过 wp_get_current_user();
检索当前登录的用户当 wordpress 初始化并从我的端点检索时,我使用会话存储来存储用户数据。它对我有用。