有没有办法可以限制对 WP REST API 的 url 调用的访问?我正在使用 WP REST API 创建可以通过 URL 访问的 AJAX 提要。它们的格式如下:http://example.com/wp-json/posts?type=post&filter[posts_per_page]=10
问题是任何人都可以添加/wp-json/posts?type=post&filter[posts_per_page]=10
到我的 URL 的末尾并检索此信息的提要。当用户未登录 WordPress 执行以下操作时,我想将其关闭:
if ( !is_user_logged_in()) {
// Turn off REST API feed
}
或者,我想添加某种需要添加以屏蔽 api 的身份验证。
我在网上找到了类似的东西,但我没有任何运气让它工作。我将它添加到自定义插件中。不幸的是,我在未登录时仍然可以访问提要。
add_action( 'init', function() {
global $wp_post_types;
$wp_post_types['post']->show_in_rest = is_user_logged_in();
}, 20 );
我担心没有办法在激活 API 和在前端发出 HTTP 请求之间建立联系。我想错了吗?有没有人遇到过这个问题?
谢谢!