建議的基於塊的 WordPress 主題的初始文檔

已發表: 2019-12-05

在昨天對古騰堡存儲庫的拉取請求中,Riad Benguella 創建了一個初始文檔,概述了基於塊的 WordPress 主題如何工作。 雖然該文檔只是對話的起點,但它是一組可能永遠重塑 WordPress 格局的想法。 這是范式轉換。

主題作者第一次可以窺見他們的未來。 自古騰堡成立以來,許多人都要求提供更多技術細節。 特別是,他們想知道主題是否會簡化為一個樣式表或一個樣式表和幾個 PHP 文件。 主題在建築上會是什麼樣子? 主題會存在嗎?

該文件雖然對更改開放,但對未來的主題結構提出了強有力的說明。 很明顯,該提案已深思熟慮。 它與古騰堡已經啟動的實驗性站點編輯功能的方向相匹配。 儘管它可能會發生變化,但總體想法似乎已經確定了。 文字早就掛在牆上了。 現在每個人都可以看到牆壁。 缺少的部分是弄清楚如何將這個想法變為現實。

什麼是全站編輯?

在了解未來主題如何運作之前,您必須首先了解古騰堡的發展方向。 Gutenberg 以及最終的 WordPress 的最終目標是讓用戶能夠通過塊系統自定義其網站的各個方面。 目前,塊系統主要處理編輯帖子內容。

要進行全站點編輯,有關站點的每條動態數據都必須是一個塊。 例如,站點標題欄必須作為站點標題的佔位符存在。 用戶應該能夠將其放置在他們希望輸出標題的任何位置,例如在標題中。

這給主題作者留下了一個合理的問題:如果用戶可以將這些塊移動到任何地方,那麼主題在哪裡適合圖片?

很容易看出主題將如何成為一個樣式表,它為每個 WordPress 塊設置樣式,同時處理其他必要的樣式,如排版和垂直節奏。 即便如此,人們仍然懷疑主題,至少在我們如何認識它們方面,是否是必要的。

提議的主題結構

提議的結構看起來與當前的 WordPress 主題沒有太大區別。 最大的區別是主題模板將成為“塊模板”和“塊模板部分”。 這些模板將是 HTML 文件而不是 PHP 文件。

以下是當前結構的位置。

 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 管理員編輯或完全覆蓋單個模板。 因為模板是由塊組成的,所以用戶不需要任何代碼。 他們可以簡單地用鼠標指向並單擊以插入或刪除塊。

換句話說,主題中的塊模板將是用戶構建網站的獨特起點。

關於提議的系統有兩個值得注意的項目:主題仍然是主題,最終用戶可以成為主題構建者。

主題的本質保持不變

當您切入其他所有內容時,WordPress 主題始終是 HTML 和 CSS。 主題的 PHP 方面基本上在一些結構化的 HTML 標記中混合了 PHP 函數調用(即模板標籤)。 如果您通過官方 WordPress 主題目錄查看大多數主題,您會發現底層標記基本相同。

在塊模板系統中,這個想法沒有改變。 如果有的話,它可以通過創建一組主題輸出的標準元素(塊)來簡化主題作者的角色。 如果做得好,它還會為類名創建一個標準,以便可以在主題和各種類似的好東西之間輕鬆共享樣式。

任何人都可以構建主題

最初的大綱解釋了導出主題的潛力:

最終,任何具有正確功能(例如:管理員 WordPress 角色)的 WordPress 用戶都將能夠在 WordPress 管理員中訪問這些模板,在專用視圖中對其進行編輯,並可能將模板導出為主題。

這就是提議的系統可以徹底改變網站建設的地方。 那些今天沒有創建 WordPress 主題的編碼技能的人可以擁有明天貢獻一些東西的工具。

這個想法與 WordPress 的開源精神完美契合。 通過讓每個人都能夠導出他們的定制,它提供了一種我們以前從未有過的非編碼人員的貢獻途徑。 由社區創建並為社區創建的自定義主題的免費目錄,有人嗎?

等式的設計方面

塊模板僅僅是 HTML。 主題需要與它們的 CSS 分開。 但是,必須有標準化才能實現這一目標。

在設計方面,設計師需要轉向基於塊的方法。 有些人可能已經熟悉各種“基於組件”的系統,它們的工作方式大致相同。 主題作者不是從上到下設計,而是通過設計每個塊來在更原子的級別上進行設計。

關於樣式最終將如何發揮作用,還有許多懸而未決的問題。 目前,有一個公開的票用於討論塊的樣式系統。 大部分討論都是圍繞如何將設計系統與主題相結合。

加入討論

重要的是要指出,該提案的任何內容都不是一成不變的。 它是對主題未來可能持有的內容的高級概述。 然而,現在是社區提供意見的時候了,尤其是過去可能覺得有點脫節的主題作者。 現在是發表您的聲音並為討論提供想法的時候了。

WordPress 主題審查團隊還就與該提案相關的主題的未來以及主題是否應該開始利用實驗性 Gutenberg 功能進行公開討論。