ブロックベースのウィジェットはWordPress5.6に着陸する準備ができていますか?

公開: 2020-10-14

2週間前、グーテンベルクチームは、ブロックベースのウィジェットのフィードバックを公募しました。 私はすでに9月の初めに新しいシステムの長いレビューを書いていましたが、チームのメンバーから最新のイテレーションについての私の考えを共有するように頼まれました。 WordPress 5.6 Beta 1が間もなくフリーズするので、もう1度深く掘り下げても問題はないと思いました。

参考までに、私の最新のテストは、今日の初めからビルドされたGutenbergプラグインのバージョン9.2.0-alpha-172f589に対するものです。 グーテンベルクの開発は急速に進んでいますが、すべてがその時点まで正確である必要があります。

最終的に、1か月以上前に指摘した問題の多くはまだ存在しています。 ただし、チームは、サイドバー(ブロック領域)の開閉矢印を正しい方向に向けたり、編集後の画面との整合性を高めたりするなど、マイナーな問題のほとんどをクリーンアップしました。 UIははるかに洗練されています。

すべての問題に飛び込む前に、私が提案している質問に答えたいと思います。 はい、ブロックベースのウィジェットシステム、WordPress5.6が登場したプライムタイムの準備ができています。 まだそこにはありませんが、次の2か月で到達可能な明確なフィニッシュラインがある時点です。

カスタマイザーでのブロックベースのウィジェットの失敗は無視します。これはGutenberg8.9に到達し、9.1で削除されました。 また、少なくとも今のところ、CustomizeAPIを使用するようにウィジェット画面を再構築するという最近の提案を見過ごします。 ブロックベースのウィジェットがカスタマイザーに提示する問題は山ほどあり、それらの問題はWordPress5.6では克服できません。 長期的には、WordPressはウィジェット/ブロック領域を編集するための単一の場所を持っている必要があります。 ユーザーは、しばらくの間、いくつかの矛盾を抱えて生きなければならない可能性があります。

チームが土壇場でHailMaryを投げて、このラウンドのカスタマイザーでブロックの完全な編集を実装しようとしないと仮定すると、ブロックベースのウィジェットはWordPress5.6のデビューの成功に向けて順調に進んでいると言っても過言ではありません。

ユーザーエクスペリエンス

グーテンベルクのウィジェット編集画面にウィジェットを追加します。
ブロックベースのウィジェット画面。

ユーザーとして、私は新しいウィジェット管理画面の使用を心から楽しんでいます。 オープンエンドの自由形式のブロック領域は、私のWordPressサイトを設計するための計り知れない可能性を生み出します。 従来のウィジェットは範囲が制限されていました。 ユーザーは、少数のコアウィジェット、場合によってはいくつかのプラグインウィジェット、およびテーマの作成者が提供したものに屈服しました。 ただし、ブロックを使用すると、選択肢のプールが拡張され、すぐに使用できるオプションが少なくとも3倍になります(埋め込みタイプのブロックを個別にカウントしていません)。 さらに、ブロックは、従来のウィジェットよりもはるかに広範なデザインオプションのセットを提供します。

それに比べて、従来のウィジェットは時代遅れです。 ブロックはほとんどすべての点で優れています。 ただし、この新しいシステムにはまだ問題があります。

現在の最大の問題は、エンドユーザーが変更を保存せずにウィジェット画面を終了できることです。 彼らのすべての仕事がエーテルで失われようとしていることを彼らに知らせる警告はありません。 これは、WordPress5.6がリリースされる前に発生する必要があるOMGBBQレベルの項目の1つです。

ありがたいが必要ではない機能の1つは、ブロックをあるブロック領域から別のブロック領域にドラッグする機能です。 古いウィジェットシステムでは、ユーザーはウィジェットをサイドバーからサイドバーに移動できました。 現在の代替手段は、ウィジェットをコピーして新しいブロック領域に貼り付け、元のウィジェットを削除することです。

私はまた、編集後の画面で利用できるトップツールバーのオプションがないのが好きではありません。 このツールバーを使用する理由の1つは、個々のブロックのデフォルトのポップアップツールバーが嫌いなためです。 それは気を散らすものであり、しばしば私の仕事の邪魔になります。

レガシーウィジェットはまだ進行中のようです。 LegacyWidgetブロックがまったく機能しないことがありました。 それから、それは魔法のように働き始めました。 ただし、Gutenbergは、登録されたサードパーティウィジェットを、ブロックであるかのようにブロックインサーターに自動的に追加するようになりました。

サードパーティのレガシーウィジェットをグーテンベルクのウィジェットシステムに挿入します。
プラグインのウィジェットを機能させる。

これはそれ自身の問題を提示しました。 サードパーティのプラグインウィジェットを機能させる唯一の方法は、ウィジェットを挿入し、保存して、ウィジェット画面を更新することでした。 その時点で、ウィジェットが表示され、編集可能になりました。

テーマ作成者の経験

現在、テーマの作成者にとって最大の懸念事項の1つは、ブロックエディタハンドブックにドキュメントがないように見えることです。 それを実現するための時間はたくさんありますが、テーマの作成者が知っておく必要のあることがあります。 機能が開発中である場合でも、一元化された場所があると、5.6リリースに向けて準備するのに役立ちます。

さまざまなMakeブログ投稿で回答される可能性のあるこれらの質問のいくつかは、専用のドキュメントページに存在する必要があります。

  • テーマはどのようにしてブロックベースのウィジェットをオプトアウトできますか?
  • ウィジェット画面にカスタムスタイルを追加するためのフックは何ですか?
  • テーマはウィジェット画面の特定のサイドバースタイルをターゲットにできますか?
  • フロントエンドの従来のウィジェットのように一貫してセクションのスタイルを設定することは可能ですか?
  • テーマは、ブロック領域内で広く完全に配置することを選択できますか?これは、基本的に投稿コンテンツ領域と同様に使用できますか?

これらは私が元テーマ作者として答えたい質問のいくつかです。 私はもはやテーマデザインゲームの真っ只中にいるわけではなく、そうなっている人はもっと多くの質問のリストを持っていると思います。

あまり目立たないドキュメントの1つは、フォールバックまたはデフォルトのウィジェットを処理する方法に焦点を当てる必要があります。 従来、ウィジェットのデフォルトセットを表示する必要があったテーマは、サイドバーにウィジェットがあるかどうかをチェックし、1つ以上のデフォルトを出力するためにthe_widget()を使用することにフォールバックしていました。 テーマの作成者はそれを行うことができますが、全体的にブロックシステムに移行し始める必要があります。

テーマの作成者は、フォールバックとしてブロックHTMLをコピーして貼り付ける必要がありますか? スターターコンテンツシステムはこれに適していますか?スターターウィジェットコンテンツはブロックを処理できますか? WordPress 5.6でウィジェットをフォールバックするための推奨される方法は何ですか?

新しいブロックパラダイムで、テーマの作成者が従来のウィジェットとウィジェットタイトルラッパーのHTMLをどのように処理するかという問題がまだ残っています。 Gutenberg 9.1リリース以降に追加された1つのパッチは、すべてのトップレベルブロックをウィジェットラッパーでラップします。 これが9.2リリースに到達した場合、問題が悪化する可能性があります。

従来のシステムでは、ウィジェットのタイトルとコンテンツの両方が一緒にコンテナ内にラップされていました。 ただし、ユーザーが見出しブロック(ウィジェットタイトル)と別のブロック(ウィジェットコンテンツ)を追加すると、各ブロックはテーマのウィジェットラッパーで個別にラップされます。 現状を修正する唯一の方法は、エンドユーザーが必要な「ウィジェット」ごとにグループブロックを追加することです。これには、WordPressユーザーに大量の再教育が必要になります。 これは理想的なシナリオではありません。

グーテンベルクの誤ったウィジェットラッパーHTMLのライブビューとコードビュー。
各ブロックは個別のセクションとしてラップされます。

この問題を直接「修正」しようとする代わりに、WordPressは出力に対して何もしないはずです。 ブロックと従来のウィジェットは根本的に異なります。

テーマの作者にこれを手綱を握らせて、可能性を探りましょう。 ただし、ブロックパターンのサポートなど、そのためのツールを提供してください。