6
5

More than 3 years have passed since last update.

wordpressの管理と公開で異なるドメインにしたらWP REST APIがエラーになる場合の対処

Posted at
  • 現象
    • wordpressのwordpressアドレスとサイトアドレスで異なるドメインにしていたら、 投稿画面でエラーになる

参考: wordpressの閲覧URLと管理URLで異なるホストを設定
https://qiita.com/backgroundcolor/items/fb7b5ce8cba9794c460f

  • 原因
    • wordpress ver.5の投稿画面は WP REST API を利用している
    • なぜだか APIのアドレスが 「閲覧URL(サイトアドレス)/wp-json/wp/〜」 なので、投稿画面のドメインと異なるため、認証が通らずエラーとなる
  • 対応
    • function.php に、管理画面操作時は WP REST API のドメインを置換する処理を入れる
function.php
/* 管理画面での APIのドメインを変更 */
add_filter( 'rest_url', 'rest_url_replace' );
function rest_url_replace($url){
  if (is_admin()){
    $url = str_replace(home_url(), site_url(), $url);
  };
  return $url;
}

これで無事動くようになった

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5