2024.11.14
いまさらNode.jsを知ろう~環境構築も~
2019.08.27
未分類WordPress 5系 投稿が更新できない
WordPress4系から新しく5系を導入することになったけど、新しい「Gutenberg(グーテンベルグ)」というエディターで投稿が更新できなくなった。
4系では更新できていたのになんでだろう…
どうやら5系になり、サイトアドレスの設定で「WordPress アドレス (URL)」と「サイトアドレス (URL)」が違っていると投稿で更新できないもよう。
「WordPress アドレス (URL)」は管理画面用のアドレスで、「サイトアドレス (URL)」は公開用のアドレスという扱いなんだけど、投稿で更新ボタン押すと「WordPress アドレス (URL)」のURLじゃなくて「サイトアドレス (URL)」のURLで更新しようとしてるっぽい…
原因で分かるとおり「WordPress アドレス (URL)」と「サイトアドレス (URL)」を同じにすれば解決!
でも分けたいときどうすればいいんだろう…
原因となっているソースのget_rest_url()関数を見るとget_home_url()関数から「サイトアドレス (URL)」のアドレス取得して、更新用のパスを作っていた。
なのでfunction.phpにget_rest_url()をフックする関数を書くことで解決できそう。
// get_rest_url() の値を変更
function replace_rest_url( $url, $path, $blog_id, $scheme ) {
if ( is_admin() ) {
$options = wp_load_alloptions();
$siteurl = $options['siteurl'];
$home = str_replace( "http", "https", $options['home'] );
$url = str_replace( $home, $siteurl, $url );
}
return $url;
}
add_filter('rest_url', 'replace_rest_url', 10, 4);
これで更新はできるようになったけどいいのかな?根本から修正してくれんもんかね…
【記事への感想募集中!】
記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!【テクノデジタルではエンジニア/デザイナーを積極採用中です!】
下記項目に1つでも当てはまる方は是非、詳細ページへ!Qangaroo(カンガルー)
【テクノデジタルのインフラサービス】
当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。
最近の記事
タグ検索