我写了一个/wp-json
类似路径:
add_action( \'rest_api_init\', function () {
register_rest_route( \'myplugin\', \'foo\', array(
\'methods\' => \'GET\',
\'callback\' => function( $data ) {
// if (!is_user_logged_in()) {
// return array();
// }
return array(\'dummy_data\');
}
) );
} );
我可以使用es6样式检索数据
fetch api 例如:
fetch(\'/wp-json/myplugin/foo\', {credentials: \'include\'})
.then(res => res.json())
.then(data => console.log(data))
这很管用。
然而,如果我对if (!is_user_logged_in())...
检查,它永远不会通过。我发送Cookie
此请求中的标头,但wordpress似乎不执行cookie/会话样式的身份验证和is_user_logged_in()
从来都不是真的。
我知道有nonce机制,但这个API只能从wordpress站点获取,我想使用cookie/session机制。
当请求来自时,如何根据用户的服务器会话对用户进行身份验证fetch
还是xhr API javascript mehanism?