WordPressという地獄を生き抜く

やっぱり地獄!GridsomeでWordPress データが取れなくなったので対処した件

WordPress地獄、再来。

WordPressを5.8にアップデートしたところ、Gridsomeから記事データが取れなくなりました。

エラーはこんな感じ。

TypeError: data.trim is not a function

APIから取ったデータが悪いっぽいですね。

プラグインを検証してみると、どうやらwp_templateのエンドポイントで、

{
  code: 'rest_cannot_manage_templates',
  message: 'このサイトのテンプレートにアクセスする権限がありません。',
  data: { status: 401 }
}

401エラーが発生している模様。

そもそもテーマのデータなんかいらないやん。ということで対処します。

WP REST API Controllerプラグインを入れて、wp_templateを外す

gridsome-source-wordpressプラグインを直接編集してテストしてみたところ、wp_templateのデータを落としても、Gridsome自体はきちんと動作したので、この項目をREST APIから落とします。

そのためにDBをイジると WordPress地獄が深くなるので、プラグインという軽めの地獄にしておきます。

WP REST API Controller

インストールしたところ、これまたメニューから設定が見つからないという地獄が待ってたんですが、「ツール」、メニューにいました。

REST API Controllerの設定ページから、wp_templateのボタンをdisableにすると、REST APIから表示されないようになります。

この段階で、ローカルでテストサーバーを立ち上げたところ、きちんと表示されました。


まあ、意味合いを考えると、wp_templateは適切なパーミッションを与えるのは正しい動作です。ただ、それだったら最初からそうしておいてくれよ、WordPress。

仕様変更、プラグイン変更、テーマ変更など複数の地獄が重なって沼になっていく、まさにWordPressらしい地獄でした。。。