WooCommerce 4.0 發佈

WooCommerce 4.0 發佈了!這是一個大版號的更新,代表著這個版本並不完全相容於前一個 3.x 的版本。所以建議在更新前先在測試環境測試,測試正常後再更新到正式站。

WooCommerce 4.0 帶來了什麼新功能?

WooCommerce 4.0 是 2020 年的第一個發佈的版本,其中包含了最新的 WooCommerce Admin 功能。WooCommerce Admin 是 WooCommerce 核心邁向以 JavaScript 為導向現代化使用者體驗的第一步。

WooCommerce Admin

新的 WooCommerce Admin 包含了許多新的更新,並提供給商點管理者更多資訊,包含:

  • 新的資訊頁
  • 新的報表頁
  • 新的通知體驗
  • 新的商店管理工具

要注意的是,雖然 WooCommerce Admin 內建在這個版本,但是舊的報表工具還是會留著,將來在適當的時機會移除舊有的報表工具。

為了要提供新的介面體驗,你的網站必須要執行 WooCommerce 5.3 以上,如果商店的 WordPress 版本在 5.3 以下,會自動關閉 WooCommerce Admin。

Action Scheduler 3.1

在 WooCommerce Admin 底下執行的一個很重要的技術就是 Action Scheduler。這個程式其實已經在 WooCommerce 核心中運行了。這個 3.1 的版本是一個針對效能改良過後的版本,使用自訂的資料表來儲存資料來讓使用者有更佳的體驗,即使你的網站有著很大量的訂單或商品資料。

新的 Onboarding 體驗

要開始一個商店並不是那麼容易,新的 Onboarding 體驗讓使用者更容易開始一家商店。因此有 50% 的新使用者可以嘗試這個新的 Onboarding 流程。

其他更新

除了 WooCommerce Admin 外,WooCommerce 4.0 還包含了許多更新

  • 改良的訂單編輯界面
  • 最新的 WooCommerce 區塊套件修正
  • 針對英國脫歐 (Brexit) 和 Vat 的修正
  • 改良的 Email 處理
  • 針對儲存可變商品和貨到付款的最佳化

除了這新改進外,還有很多小的修正和新的 hook 推出,你可以在 changelog 中找到這些資訊。

棄用的函式

countries_using_vat 已被 WC_Countries::get_vat_countries 取代

更新的範本檔案

檔案改變
cart/shipping-calculator.php國家的字串在運費計算中改變為國家/區域
global/quantity-input.php在數量欄位中新增 placeholder 屬性
emails/customer-reset-password.php修正段落尾端遺漏的標籤
emails/email-styles.php更新 CSS 樣式
emails/email-header.php將表格寬度設定為 100%
single-product/add-to-cart/grouped.php在數量欄位中新增 placeholder 屬性

佈景主題的未來?Block-based Themes

隨著全站編輯(full-site editing)已經是一個實際的目標,佈景主題在未來將會有不同的面貌。目前 Gutenberg 團隊已經開始 block-based theme(以區塊為基礎的佈景主題) 的初版文件來描述 block-based theme 的概念和內容。

什麼是全站編輯 (Full Site Editing)?

在了解 Block-based theme 會如何運作之前,也許你可以先了解一下目前 Gutenberg 的發展方向。Gutenberg 的終極目標就是希望讓使用者可以透過區塊系統來客製化網站的任何功能和外觀,到目前為止,區塊系統主要用來編輯文章內容。

為了要達成 Full site editing 的目標,任何網站上的動態內容都必須是一個區塊,例如網站的選單或是標題,使用者可以將選單或標題放在網站的任何一個地方。或許你會開始懷疑,如果我可以任意移動這些區塊,那麼佈景主題存在的功能到底是什麼?

提議的佈景主題結構

目前提議的佈景主題結構跟現有的結構差不多。最大的差別在於佈景主題的樣板會區分為 “block-templates” 和 “block template parts”

theme
|__ style.css
|__ functions.php
|__ block-templates
    |__ index.html
    |__ single.html
    |__ archive.html
    |__ ...
|__ block-template-parts
    |__ header.html
    |__ footer.html
    |__ sidebar.html
    |__ ...

註:block-templates 和 block-template-parts 目錄已分別改為 templates 和 template-parts

如何使用 Gutenberg 鍵盤快速鍵

隨著 Gutenberg 的功能來越多,使用快捷鍵可以大幅加速你的編輯流程,如果你想要查詢 Gutenberg 的快速鍵有哪些,可以透過以下兩種方式來查詢有哪些快捷鍵可以使用。

透過工具列選單開啟快速鍵清單

開啟 Gutenberg 鍵盤快速鍵

透過快速鍵來開啟快速鍵清單

透過快速鍵開啟快速鍵清單會根據你的作業系統而有些不一樣。如果你是 Mac 的使用者,請使用 Ctrl + Opt + H 來開啟,如果你是 Windows 的使用者,請使用 Shift + Alt + H 來開啟。

快速鍵清單

鍵盤快速鍵Mac 快速鍵Windows 快速鍵
顯示鍵盤快速鍵清單Ctrl + Opt + HAlt + Shift + H
全域快速鍵Mac 快速鍵Windows 快速鍵
儲存變更Cmd + SCtrl + S
復原變更Cmd + ZCtrl + Z
取消復原變更Cmd + Shift + ZCtrl + Shift + Z
顯示或隱藏設定面板Cmd + Shift + ,Ctrl + Shift + ,
開啟區塊導覽選單Ctrl + Opt + OCtrl + Alt + O

Gutenberg Block Directory: 區塊目錄與單一區塊外掛

Gutenberg 在 6.5 的版本加入了一個新的實驗性功能,讓使用者在新增區塊的時候,可以搜尋到其他未安裝在網站上的區塊。而這些未安裝在網站上的區塊將來將會顯示在 WordPress.org 上的一個區塊的分類。這個功能其實是 Matt Mullenweg 在 2018 的 WordCamp US 上宣布的 9 Projects for 2019 中的其中一項。

如果你想實驗這項功能,可以自行安裝 Gutenberg,然後在 Gutenberg > Enable Block Directory search 中找到這項功能。

啟用 Block Directory

啟用之後,你就可以在區塊編輯器中插入區塊時搜尋區塊。這邊是以 Boxer 這個測試區塊為例。

當你插入了這個區塊時,實際上是安裝了一個外掛在你的網站上。所以你去外掛清單看會多出一個外掛。

到這邊你應該不難發現,未來將會有一個新的外掛型態,而這個外掛是以單一區塊的模式來提供功能。之所以會有這樣的概念原因在於,目前已經有很多的外掛提供了自己的區塊,但是基本上你很難用區塊的名稱去搜尋到這個區塊,而且在外掛的頁面上,也很難描述清楚提供的區塊的所有功能。

WordPress 團隊提出了一個新型態的外掛概念:Single Block Plugins。這些外掛只會提供一個區塊,且會在外掛的目錄中歸類在 Block Directory 這個內容中。更多的資訊和討論可以到這邊

參考資料:

WooCommerce 3.9 發佈

WooCommerce 團隊針對 WooCommerce 發佈的方式做了一些改變,為了讓發佈的時程不會拖的太長,導致一次有太多的變動加入到發佈的版本中,將來 WooCommerce 將會改為定期的發佈,讓每次的變動不至於太大。上一個版本 3.8 是在 2019/11/5 發佈,而下一個版本 3.9 即將於 2019/1/7 發佈。我們來看看新的版本會包含哪些變動吧!

WooCommerce Block

新版的 WooCommerce 3.9 將會包含 WooCommerce Block 2.5。

WooCommerce 3.9 新增了一個 “全部商品”的區塊,這個區塊跟原本 WooCommerce 核心的商店頁面的顯示是一樣的,不過這個區塊是透過 Javascript 和 REST API 來顯示資料,所以顧客在瀏覽商品時可以停留在同一頁,瀏覽體驗會很好多。

你可以編輯這個商品清單區塊的內容,來控制商品顯示的資料(Inner Block),或是與其他區塊共同使用,例如商品過濾區塊。

新的 PHP 和 WordPress 最低版本要求

WooCommerce 3.9 最低需要 PHP 7.0,這個要求同時代表著你需要 WordPress 5.0 以上的版本才能正常運行 WooCommerce 3.9。如果你的商店的 PHP 低於 7.0 或是 WordPress 低於 5.0,你將無法升級到 WooCommerce 3.9 的版本。

其他的改進

新的用戶引導(Onboarding) 介面

ShareAblock – 一個開源共享的 Gutenberg 區塊、範本資料庫

ShareAblock 是由 EditorsKit 開發者所建立個一個開源共享的區塊、範本設計資料庫,成立的目標在於希望讓使用者能夠更快速地使用並設計區塊。所有人都可以自由地下載網站上的區塊或樣板,但上傳的資格目前仍有所限制,只有經過審核的部分作者可以上傳,不過你還是可以申請成為具資格的上傳者。

如何使用

由於目前 Gutenberg 並未支援區塊的匯出和匯入,如果要匯入下載的區塊或樣板,必須在網站上先安裝 EditorsKit,EditorsKit 支援以 json 的格式匯出區塊,並透過拖曳的方式直接匯入區塊到你的編輯器中。

匯出區塊內容

找到你想下載的區塊設計,頁面上會說明這個設計使用了哪些區塊,以及他個功能描述,按下 Download Now 來下載。

按下 Download Now 會跳出視窗要求輸入你的姓名和 Email。

完成後會有一個下載確認,這時候我才了解原來他是一個購買的流程,同時也會在這個網站幫你建立一個帳號,也許將來會有收費的計畫,讓一些比較進階或複雜的區塊設計能夠讓使用者付費下載,我覺得這也是蠻合理的,至於使用者買不買單就看之後的發展了。

匯入區塊內容

找到你下載的 json 檔,透過拖曳的方式直接拖曳到你正在編輯的編輯器中,即可完成匯入。以下為匯入的 Call to Action 區塊範例。

Schedule a free consultation

Vestibulum et magna mattis, sollicitudin convallis ligula ac. Ullamcorper turpis, nec metus nunc vel ullamcorper turpis, turpis. Augue justo nec convallis metus nunc vel turpis. 

範本

除了區塊以外,網站上還有另一個分類是範本 (Template),範本屬於比較完整的設計頁面,你可以快速地建構出頁面。

未來

目前 EditorsKit 和 ShareABlock 在做的事算是走在蠻前面的,很多你覺得不錯的功能也許將來也會直接內建在 Gutenberg 中,或許將來在 WordPress.org 上,除了外掛和主題之外,還會再多一個區塊的分類,讓使用者可以自由地上傳和下載區塊,我想屆時 Gutenberg 也會被更多使用者所接納。