Включить CORS в API WordPress

Я хочу чистый способ включить CORS для моего бэкэнда WordPress. Во многих публикациях предлагается просто добавить заголовок к коду 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.

0

Решение

Ваш клиентский JavaScript пытается установить Access-Control-Allow-Origin заголовок по запросу.

Это не имеет смысла, так как это заголовок ответа, а не заголовок запроса.

Это вызывает preflighted запрос, но ваш серверный код настроен только для обработки простых запросов.

Исправьте JS на стороне клиента.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector