从 iframe 中运行 wordpress 端点

问题描述 投票:0回答:1

让我尝试解释一下我的问题。第三方做了一个wordpress端。当用户按下按钮时,我的软件将在 iframe 中运行。它是在 React 中制作的,仅供参考。当用户选择一个项目并按下订单按钮时,我必须首先检查该用户是否登录了该 WordPress 站点。我搜索并找到了类似的东西:

is_user_logged_in
功能,但我得到的是:

Uncaught Error: Call to undefined function is_user_logged_in() <br/><br/>

当我使用邮递员时,我打电话:

.../wp-json/wp/v2/pages
然后我得到信息。当我尝试在代码中执行此操作时,我得到类似以下内容:
301 Moved Permanently

所以我想知道,是否可以在 iframe 中使用 WordPress Rest API?

问候

reactjs wordpress iframe wordpress-rest-api
1个回答
0
投票

是的,可以在 iframe 中使用 WP REST API,但由于您尝试从一个域向另一个域发出该请求,因此您需要通过设置适当的标头以允许在 WP 安装中明确允许该请求 CORS。最简单、最快的方法是将这样的内容添加到您的

functions.php
:

function add_cors_http_header(){
    header('Access-Control-Allow-Origin: *');
}
add_action('init','add_cors_http_header');

尽管您可能应该将其限制为仅需要的域,但甚至可能仅为选择请求添加标头。

如果您的请求针对用户登录的同一域,会话 cookie 应自动添加到您的请求中,以便 WordPress 可以验证当前用户是否确实登录。我建议为此目的创建专用的 REST 路由,并返回 iframe 中的所有内容正常工作所需的所有信息。

© www.soinside.com 2019 - 2024. All rights reserved.