カスタムフィールド職人の朝は早い。前回に引き続き、Gutenbergのリリースに備える連載の第2回目となる今回は、このCapital Pで生まれた名言「カスタムフィールド製造業」に忙しく従事する職人のために、Gutenberg以降どのようになるのかを指摘しておこう。
エディターのない投稿タイプは動かない
WordPressを激しくカスタマイズして利用する際、次のような設定で利用する方は多いのではないだろうか。
- カスタム投稿タイプを作成し、
supports => ['title', 'thumbnail']
といった具合に、エディターなしにしておく - Advanced Custom Fieldsなどで大量のカスタムフィールドを登録する
これにより、日付情報を持ったイベントページや、家賃・間取りなどの複雑な情報をもった不動産データベースなどを構築することができる。ビジュアルにすると次のような感じだ。
しかしながら、現時点のGutenbergでは、supportsにeditorを入れておかないと動かない。画面が真っ白になってウンともスンとも言わなくなる。
よって、この「エディターなし投稿タイプをどうするのか」という問題は、Gutenbergが本番稼働するまでに解決しておかなければならない問題の一つだ。ちなみに、カスタム投稿タイプをGutenbergで使う場合、show_in_rest
をtrueにしないと動かないのでご注意あれ。
そのままで動くメタボックス
さて、ACFでは「なんとなく見栄えがいい&TinyMCEが壊れない」という理由により、WordPress標準のメタボックスを使わずにフィールドを追加する方法がある。主なフックは次のとおり。
フック名 | 表示箇所 | Gutenberg対応 |
---|---|---|
edit_form_after_title | タイトルの下、エディターの上 | × |
edit_form_after_editor | エディターの下、メタボックスの上 | ◯ |
edit_form_advanced | メタボックスの下 | ◯ |
dbx_post_sidebar | サイドバーの最後 | ◯ |
Gutenberg以前はこれらのフックを利用することで管理画面になにかを表示することができていたのだが、edit_form_after_title
などは動かないようだ。したがって、ACFの設定でこれらを利用していた場合、そのカスタムフィールドは表示されなくなる。
もし可能であれば、素直に標準のメタボックスを使っておいた方がよいだろう。幸い、メタボックスはそのまま動作するのでご心配なく。
ACFのGutenberg対応
さて、ACFはそれなりに人気のあるプラグインなので、Gutenberg対応をすることを謳っている。最近公開された記事 “The State of ACF in a Gutenberg World” では、次のバージョン5からGutenbergにきちんと対応していくようだ。
さらに、おまけとしてカスタムブロックをカスタムフィールド経由で作れるようにするらしく、これは待望の機能となるだろう。ちなみに、Gutenbergでは各ブロックの属性値をカスタムフィールドに持たせることもできる。
Javascriptについてそれほど詳しくないなんちゃってフルスタックエンジニアでもカスタムブロックを作れるようになるので、かなり喜ばれる機能になるのではないだろうか。
まとめ:有名どころは大丈夫では?
さて、ざっくり見たところ、ACFのような有名どころではGutenberg対応を行うことを表明にしているので、5.0のリリースに遅れることはあっても、必ず対応は行われるはずだ。クラシックエディターを入れて時間稼ぎをしている間に勝手に解決すると思われる。
辛いのは自作プラグインを作ったサイト、そして、更新が頻繁に行われないマイナープラグインを利用しているサイトではないだろうか。これらのサイトに関しては、調査やソースの見直しなどの作業を見込まずにGutenbergへ移行することは危険である。
次回以降はWebアセンブラー御用達のElementor, BeaverBuilderなどの「ページビルダー」を見てみたい。こちらはGutenbergと相互補完的に立ち回れるACFと異なり、機能が完全にバッティングしているので、どうなるのか見ものだ。