从iframe中运行WordPress端点

70gysomp  于 2023-11-17  发布在  WordPress
关注(0)|答案(1)|浏览(150)

让我试着解释一下我的问题.第三方做了一个WordPress的一面.当用户按下一个按钮,我的软件将运行在一个iframe.它是在React,只是为了信息.当用户选择一个项目,并按下订单按钮,我必须先检查这个用户是否登录在该WordPress网站.我搜索并找到类似的东西:is_user_logged_in函数,但比我得到:

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

字符串
当我使用postman并调用:.../wp-json/wp/v2/pages时,我得到了信息。当我在代码中尝试这样做时,我得到了类似于:301 Moved Permanently
所以我想知道,是否有可能从iframe中使用wordpress rest API?
问候

xzlaal3s

xzlaal3s1#

是的,可以在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');

字符串
虽然你可能应该限制,只有域(S)需要任何甚至可能添加头只为选择请求。
如果您的请求针对的是用户登录的同一个域,那么会话cookie应该自动添加到您的请求中,这样WordPress就可以验证当前用户是否确实登录过。我建议为此创建一个专用的REST路由,并返回所有必要的信息,以便iframe中的任何内容都能正常工作。

相关问题