提案されたブロックベースのWordPressテーマの初期ドキュメント
公開: 2019-12-05昨日のグーテンベルクリポジトリでのプルリクエストで、RiadBenguellaはブロックベースのWordPressテーマがどのように機能するかを概説した最初のドキュメントを作成しました。 このドキュメントは会話の出発点にすぎませんが、WordPressの展望を永遠に変える可能性のある一連のアイデアです。 それはパラダイムシフトです。
テーマの作者は初めて、自分たちの将来がどうなるかを垣間見ることができます。 グーテンベルクの発足以来、多くの人がより技術的な詳細を求めてきました。 特に、テーマがスタイルシートに縮小されるのか、スタイルシートといくつかのPHPファイルに縮小されるのかを知りたがっていました。 テーマはアーキテクチャ的にどのように見えますか? テーマは存在するのでしょうか?
このドキュメントは変更の余地がありますが、今後のテーマの構造について強力な主張をしています。 提案に多くの先見の明があったことは明らかです。 これは、すでに動き始めているグーテンベルクの実験的なサイト編集機能の方向性と一致しています。 変更される可能性がありますが、包括的なアイデアには最終性があるようです。 執筆は長い間壁にありました。 今、誰もが壁を見ることができます。 欠けている部分は、アイデアを実現する方法を考え出していることです。
フルサイト編集とは何ですか?
将来のテーマがどのように機能するかを理解する前に、まずグーテンベルクが向かう方向を理解する必要があります。 グーテンベルク、そして最終的にはWordPressの最終目標は、ユーザーがブロックシステムを介してサイトのあらゆる側面をカスタマイズできるようにすることです。 現在、ブロックシステムは主に投稿コンテンツの編集を処理します。
フルサイト編集に移行するには、サイトに関するすべての動的データがブロックである必要があります。 たとえば、サイトタイトルブロックは、サイトタイトルのプレースホルダーとして存在する必要があります。 ユーザーは、ヘッダーなど、タイトルを出力したい場所に配置できる必要があります。
これにより、テーマの作成者は合理的な質問をすることになります。ユーザーがこれらのブロックをどこにでも移動できる場合、テーマはどこに収まるのでしょうか。
テーマが、タイポグラフィや垂直リズムなどの他の必要なスタイルを処理しながら、すべてのWordPressブロックのスタイルを設定するスタイルシートにすぎないことは簡単にわかります。 それでも、少なくとも私たちがどのようにしてそれらを知るようになったのかという点で、テーマがまったく必要かどうか疑問に思います。
提案されたテーマ構造
提案された構造は、現在のWordPressテーマとそれほど変わらないように見えます。 大きな違いは、テーマテンプレートが「ブロックテンプレート」と「ブロックテンプレートパーツ」になることです。 これらのテンプレートは、PHPファイルではなくHTMLファイルになります。
以下は、構造が現在立っているところです。
theme |__ style.css |__ functions.php |__ block-templates |__ index.html |__ single.html |__ archive.html |__ ... |__ block-template-parts |__ header.html |__ footer.html |__ sidebar.html |__ ...テンプレートの観点からは、WordPressテーマでは比較的正常に見えます。 ファイルは単に異なるタイプであり、特定のフォルダーに編成されています。
ただし、違いはHTMLテンプレートの動作方法です。 それらは本質的にブロックのプレースホルダーになります。 ユーザーは、WordPress管理者を介して個々のテンプレートを編集または完全に上書きすることもできます。 テンプレートはブロックで構成されているため、ユーザー側にコードは必要ありません。 マウスでブロックを挿入または削除するには、ポイントアンドクリックするだけです。

つまり、テーマ内のブロックテンプレートは、ユーザーがサイトを構築するための独自の開始点になります。
提案されたシステムについて2つの注目すべき項目があります。テーマはまだテーマであり、エンドユーザーはテーマビルダーになることができます。
テーマの本質は同じままです
他のすべてを切り抜けると、WordPressのテーマは常にHTMLとCSSでした。 テーマのPHPの側面は、基本的に、構造化されたHTMLマークアップ内でPHP関数呼び出し(つまり、テンプレートタグ)を混合します。 公式のWordPressテーマディレクトリを通過するほとんどのテーマを見ると、基になるマークアップはほとんど同じであることがわかります。
ブロックテンプレートシステムでは、この考え方は変わりません。 どちらかといえば、テーマが出力する一連の標準要素(ブロック)を作成することで、テーマ作成者の役割を単純化できます。 正しく行われると、クラス名の標準も作成されるため、テーマやあらゆる種類の類似した機能間でスタイルを簡単に共有できます。
誰でもテーマを作成できます
最初の概要は、テーマのエクスポートの可能性を説明しています。
最終的に、適切な機能を持つすべてのWordPressユーザー(例:管理者のWordPressロール)は、WordPress管理者でこれらのテンプレートにアクセスし、専用ビューで編集し、テンプレートをテーマとしてエクスポートできるようになります。
これは、提案されたシステムがWebサイト構築に革命を起こす可能性がある場所です。 今日WordPressテーマを作成するためのコーディングスキルがない人は、明日何かを貢献するためのツールを持っている可能性があります。
このアイデアは、WordPressのオープンソースの精神と完全に一致しています。 誰もが自分のカスタマイズをエクスポートできるようにすることで、これまでコーダー以外の人にはなかった貢献への道を提供します。 コミュニティによって、そしてコミュニティのために作成されたカスタマイズされたテーマの無料ディレクトリ、誰か?
方程式の設計側
ブロックテンプレートは単なるHTMLです。 テーマはCSSと区別する必要があります。 ただし、これを実現するには標準化が必要です。
設計者は、設計に関してはブロックベースのアプローチに移行する必要があります。 すでにさまざまな「コンポーネントベース」システムに精通している人もいるかもしれませんが、これはほとんど同じように機能します。 テーマの作成者は、トップダウンで設計するのではなく、各ブロックを設計することで、よりアトミックなレベルで設計に取り組みます。
スタイルが最終的にどのように機能するかについても、多くの未回答の質問があります。 現在、ブロックのスタイルシステムについて議論するためのオープンチケットがあります。 議論の多くは、デザインシステムをテーマと統合する方法に関するものです。
ディスカッションに参加する
この提案については何も決まっていないことを指摘することが重要です。 これは、テーマの将来が何を保持できるかについての概要です。 ただし、今はコミュニティ、特に過去に少しループから外れたと感じた可能性のあるテーマ作成者からの意見を聞くときです。 今こそ、あなたの声を聞いて、議論にアイデアを提供する時です。
WordPressテーマレビューチームは、この提案に沿ったテーマの将来と、テーマが実験的なグーテンベルクの機能を利用し始めるべきかどうかについてもオープンディスカッションを行っています。
