2021 WordPress 核心貢獻分析

前幾天有人在臉書發表了自己寫的一篇文章,說明 WordPress 核心的寄信功能,該文章認為 Automattic 身為開發商卻不改善功能,但事實是,WordPress 並非 Automattic 所有,目前 WordPress 已經將所有權轉移給 WordPress 基金會,為的就是確保 WordPress 永遠保持開放、免費使用,而不會有被 Automattic 綁架的疑慮。也是因為這樣讓很多開發者或公司加入開發的行列。

WordPress 前陣子發表了核心貢獻的分析,從模組、公司、國家等角度去統計當年度貢獻的資料,讓我們來看看有什麼有趣的地方吧!

以國家貢獻數量排名

如果以國家來排名的話,第一名是美國,第二名是法國,第三名是俄羅斯。

以國家的貢獻者數量排名

如果以個國家的貢獻者來排名,第一名還是美國、第二名是印度、第三名是英國

以公司的貢獻數量排名

如果以公司來統計貢獻排名,第一名是 Automattic,第二名是 Yoast,第三名是 Whodunit。
這個排名我個人覺得蠻有趣的,除了幾個常見的公司名稱外,有些是過去不知道的。例如第三名的 Whodunit。Whodunit 是一個法國的公司,是開放原始碼的倡議者,鼓勵公司員工貢獻 WordPress 核心。
第四名的 Advies en zo 則是荷蘭的公司,另外一個比較驚奇的是 Bluehost,雖然 Bluehost 的主機服務大家不是很推,但是人家可是貢獻了不少。第九名的 Dekode Interaktiv 則是挪威的公司。

以公司貢獻者排名

若是以公司的貢獻者數量來排名的話,Automattic 還是第一,第二是 Yoast,第三則是 10up。只有這三家公司有超過 10 個人在 Trac 上做出貢獻。

Five for the Future

你不必像這些公司貢獻大量的時間在 WordPress 核心,你可以貢獻5%的時間即可,這也是 WordPress 倡議的 Five for the Future,如果每個人都能貢獻一點點,那麼整個社群一定會更美好。

ElmaStudio

ElmaStudio 是由 Ellen and Manuel 所成立的公司,主要開發佈景主題和外掛,尤其是區塊佈景主題。如果你想學習區塊佈景主題不妨參考一下他們的作品。

另外他們的部落格也有很多有用的資訊可以參考。內容都相當有質感。

WordPress 5.9 全站編輯學習資源

Anne McCarthy 是 Automattic 的 Developer Relations Wrangler,近期也有在 WordCamp Taiwan 分享即將釋出的 WordPress 5.9 的全站編輯功能。

Anne 最近分享了一篇關於全站編輯的資源,裡面包含了許多資源、課程以及功能說明,如果你想更深入了解全站編輯,一定不可錯過 Anne 的這篇文章!

WordPress 5.9 新增的內容類型 (Post Type)

WordPress 5.9 新增了4種內容類型 (Post Type),這4種內容類型會在你啟用區塊佈景主題時使用到。

這4種內容類型包含:

  • wp_template:佈景主題使用的區塊範本
  • wp_template_part:區塊範本使用的範本組件
  • wp_global_styles:針對目前使用中的佈景主題,管理者建立和儲存的樣式
  • wp_navigation:導覽選單

要注意的是,這些內容類型是保留字,只有 WordPress 內部使用。

學習如何使用全站編輯設計網站

如果你想學習如何使用全站編輯 (Full Site Editing) 來設計網站,在 Learn WordPress 網站上有一個基礎的課程,讓你可以對全站編輯有基礎的認識,也為之後即將發佈的 WordPress 5.9 做準備。不過這個課程比較偏向概念上的介紹,WordPress 5.9 將會包含很多新的功能,如果你想要了解更多,可以參考 WordPress 5.9 詳解指南 (Field Guide)

WordPress 5.9 詳解指南 (Field Guide) 發佈

每次新版本的 WordPress 發佈之前都會發佈一個該版本的 Field Guide,說明這個版本的一些重大變動。而 WordPress 5.9 Filed Guide 也於近日發佈了。內容大多是針對開發者的一些注意事項,但一般使用者還是能從這些內容去知道這次版本的一些重大變動,也為這些變動提早做準備。

theme.json 基本結構介紹

在 WordPress 5.8 引進了一個新的功能 theme.json,用來設定區塊編輯器以及個別區塊的樣式,而對於即將於 WordPress 5.9 推出的全站編輯 (Full Site Edit) 更是扮演著很重要的角色。

theme.json 是 JSON (JavaScript Object Notation) 格式檔案,如果你對 JSON 格式不熟悉,可以參考這篇文章

theme.json 結構

基本的 theme.json 結構如下:

{
    "version": 1,
    "settings": {},
    "styles": {},
    "customTemplates": {},
    "templateParts": {}
}

version: theme.json 格式的版本號,目前只有一個唯一的版號 1。WordPress 5.8 會忽略不同於當前版本號的 theme.json

settings: 可以啟用或停用功能。

styles: 設定佈景主題的預設樣式

customTemplates:設定在 templates 目錄中的區塊範本。例如你可以設定某個區塊範本可以在哪個內容類型使用。

templateParts:設定在 parts 目錄中的區塊範本組件。

theme.json JSON Schema

因為 theme.json 的設定繁多,如果你要確認 theme.json 可以使用哪些設定,可以參考 theme.json 的 schema

JSON schema 是用來描述一個 JSON 檔案包含哪些欄位,以及欄位的說明和格式。

WordPress 佈景主題目錄 2021 回顧

根據 WordPress 官方的統計,2021年 一共增加了 1227 個佈景主題,其中只有 29 個是區塊佈景主題 (Block Theme)

如果你要找區塊佈景主題,可以透過 WordPress.org 的 Feature Filter 來過濾。在 Features 的部分勾選 Full Site Editing,然後點擊 Apply Filters 來顯示過濾的結果。

在這篇文章發佈的當下,原本 29 個區塊佈景主題已經成長到 35 個了,相信 2022 年會有更多的區塊佈景主題。

外觀自訂器 (Customizer) 在 WordPress 5.9 的角色

全站編輯即將在 WordPress 5.9 推出,對於使用者來說將會是全然不同的操作體驗。在全站編輯的模式下,網站上的所有外觀都可以透過網站編輯器來編輯,也因為這樣,將來若你在 WordPress 5.9 上啟用了支援全站編輯的佈景主題,那麼你將不會看到外觀自訂器 (Customizer)。

但如果你啟用的佈景主題不支援全站編輯,那麼你仍然可以用外觀自訂器來客製化你的外觀。

另外要注意的是,過去你可以在外觀自訂器中預覽未啟用的佈景主題,但在全站編輯下你是無法預覽未啟用的佈景主題的,因為網站編輯器只能在已啟用的佈景主題中使用,但目前已經有人開了一個 ticket,提出希望能夠預覽未啟用的區塊佈景主題。

結論

如果你要編輯或預覽區塊佈景主題,你要先啟用它。

如果你要預覽非區塊佈景主題,則可以依照過去的方式在外觀自訂器中進行預覽。

WordPress 只會在非區塊佈景主題顯示外觀自訂器,或是你使用的外掛有透過 customize_register action 來啟用外觀自訂器。