- 現象
- 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;
}
これで無事動くようになった