在wordpress api中启用CORS

时间:2017-11-23 15:11:47

标签: php wordpress cors wordpress-rest-api

我想要一个干净的方法为我的wordpress后端启用CORS。很多帖子都建议只在api的代码中添加标题,但编辑wordpress核心是不行的,因为我使用的是docker,所以无论如何都不适合我的设置。

我试过写一个这样的插件:

add_filter( 'wp_headers', array( 'send_cors_headers' ), 11, 1 );
function send_cors_headers( $headers ) {
        $headers['Access-Control-Allow-Origin'] = '*';
    return $headers;
}

但它似乎什么都不做,因为我仍然收到以下错误:

Failed to load http://localhost/wp-json/wp/v2/posts: Request header field Access-Control-Allow-Origin is not allowed by Access-Control-Allow-Headers in preflight response.

1 个答案:

答案 0 :(得分:1)

您的客户端JavaScript正在尝试在请求上设置Access-Control-Allow-Origin标头。

这没有意义,因为它是响应头,而不是请求头。

这是触发预检请求,但您的服务器端代码仅设置为处理简单请求。

修复客户端JS。