Вмикаємо CORS у WordPress REST API

03.02.2023 | Написав

Cross-Origin Resource Sharing (CORS, спільне використання ресурсів з різних джерел) — механізм безпеки сучасних браузерів, який дозволяє вебсторінкам використовувати дані, що знаходяться на інших доменах. Якщо ми робимо кастомне публічне API на WordPress, то нам потрібно надати дозвіл на доступ до нашого сайта з іншого домена.

Для цього нам потібно додати хук у function.php:

  //fix CORS error
  function my_custom_rest_cors() {
    remove_filter( 'rest_pre_serve_request', 'rest_send_cors_headers' );
    add_filter( 'rest_pre_serve_request', function( $value ) {
      header( 'Access-Control-Allow-Origin: *' );
      header( 'Access-Control-Allow-Methods: GET' );
      header( 'Access-Control-Allow-Credentials: true' );
      header( 'Access-Control-Expose-Headers: Link', false );
      header( 'Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept' );
 
      return $value;
    } );
  }
  add_action( 'rest_api_init', 'my_custom_rest_cors', 15 );

Якщо потрібно надати доступ тільки з певних доменів, то замінити зірочку в строчці:

header( 'Access-Control-Allow-Origin: *' );
Рубрика: Веброзробка
Позначки:,
Коментарі читачів статті "Вмикаємо CORS у WordPress REST API"

Немає коментарів.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься.

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.