メニューを閉じる

テクノデジタルグループ

メニューを開く

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つでも当てはまる方は是非、詳細ページへ!
  • 自分でアプリを作ってみたい
  • ITで世の中にワクワクを生み出したい
  • 使いやすさ、デザインにこだわったWebサイトを開発したい

採用情報の詳細はこちら


Qangaroo(カンガルー)

  • 徹底した見やすさと優れた操作性で、テストの「見える化」を実現。
  • テストの進捗が見える。開発がスマートに進む。
  • クラウド型テスト管理ツール『Qangaroo(カンガルー)』

【テクノデジタルのインフラサービス】

当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。

https://www.tcdigital.jp/infrastructure/

最近の記事