カテゴリー
オープンソース

WordPressのGutenbergの再利用ブロック一覧は 10個以上表示されない障害のその後と回避策の話し

WordPressのGutenbergの再利用ブロック一覧は 10個以上表示されない障害のその後の話しと、とりあえずの回避策の話しです。解決に至っていません。

あれからGutenbergのソースを追ってみましたけど、10個以上表示しないようにフィルターをかけているなんてしなさそうでした。当たり前だけど。再利用ブロックの一覧を表示しているのは、以下のところでしょうか。

packages\block-editor\src\components\inserter\hooks\use-block-types-state.js
packages\block-editor\src\components\inserter\reusable-blocks-tab.js
packages\block-editor\src\components\block-types-list\index.js

それにしても、GutenbergはReactで記述されているのすね。ソースを追ってみたと言っても、Reactはあまりわかっていないので、何となくこんなことをやっているなんて感じでソースを追っています。

今回でわかったのは、再利用ブロックはどこに格納しているかというと、投稿と同じpostのテーブルなんですね。Gutenbergからどうやって取得しているかは、

select( 'core/block-editor' );

が何かやっているようでした。そもそもwp.data.を付けずに、select()でどうして動いているかも、まだ理解していません。デバッグ環境を作って追っていければいいのですが、まだそこまでやっていません。

そもそも、いちいち再利用ブロックが出てくるたびに、データベースを参照するなんてコストが高いと思うのですが、そこのところは上手くやっているのでしょうね。そうではないと、キャッシュ必須になってしまいます。

また、自分のサイトが悪いのどうか切り分けるため、試しに新しくWordpressのサイトを立てて見ました。今回は簡単にWordpressのDockerイメージで起動します。簡単にテストでサーバーを起動するのはDockerが便利です。Dockerイメージを用意してくれると、とても助かります。

クィックスタート: Compose と WordPress — Docker-docs-ja 17.06 ドキュメント

結果は、やはり再利用ブロックの一覧は10個以上表示できませんでした。サイトの固有の問題ではなさそうです。ただ、再利用ブロックのインポートとエクスポートは正しく動いていました。まとめてインポート/エクスポートできないのが仕方ないのでしょうか。

プラグインもすべて無効にしても変わりません。Gutenbergのブラグインだけでも、再利用ブロック一覧が10個以上表示できない障害が出ています。

こちらの障害は、Gutenbergの開発コミュニティに報告しなければいけませんかね。いろいろ報告の前段階の説明を読むと、面倒なことが書かれているのですので敷居が高そうです。

試しに再利用ブロックを非公開したらリストに反映されずに、よく使うブロックを10個までにしておけばいいかと思いましたが、非公開にしてしまうと記事にほうに表示できなくなってしまうのでした。この回避策は使えません。

もう一つの回避策としては、再利用ブロックのリストは新しく作成した順に10個だけ表示しているので、よく使う再利用ブロックの作成日付を新しい順になるように「すべての再利用ブロックの管理」から変更しておくことです。しかし、新しい順で11番目を使いたいときには、再度日付を更新するという面倒な作業が発生します。

以上、全くGutenbergの再利用ブロックの一覧が10個しか出てこない問題は解決していません。

続きはこちらから

「WordPressのGutenbergの再利用ブロック一覧は 10個以上表示されない障害のその後と回避策の話し」への1件の返信

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください