WooCommerce1 核心又要加新功能了。之前靠 Additional Variation Images 擴展才能做的事,現在直接合並進核心,免費開箱即用。
從 WooCommerce 10.9 開始,可變產品裏的每個變體,除了原本那張特色圖像,還能擁有自己有序的圖像圖庫。
這步動作緊跟着 9.4 版本合併品牌功能,是“更多功能進核心”計劃的一部分——把基礎商務功能塞進核心,商家默認就能用,開發者專心做差異化。
包含哪些內容?
變體圖庫讓每個變體都能在前台展示自己的圖像。購物者選某個變體時,圖庫會切換顯示該變體的完整圖像集。
管理後台用一個統一字段集中管理每個變體的圖像:變體的特色圖像和圖庫以有序列表呈現,列表第一項自動提升為”主要”圖像。

啓用該功能
WooCommerce 10.9 加入了此功能,但初始階段對所有用户默認禁用。
要在商店裏啓用變體圖庫,勾選 設置 → 高級 → 功能 裏的 “變體圖庫” 複選框就行。
或者用編程方式,跑這條 WP-CLI4 命令:
wp option update wc_feature_woocommerce_additional_variation_images_enabled 'yes'
啓用後,獨立的 Additional Variation Images 擴展會自動停用,避免兩種實現方式打架。
功能分階段推出,留足時間測試、收集反饋、完成遷移,逐步淘汰現有的 Additional Variation Images 訂閲:
- 10.9 版本提供功能供用户選擇測試,
- 後續版本通過數據庫更新程序,為選定商店開啓 5% 的金絲雀測試,
- 金絲雀測試通過後,全面啓用至 100%。
首次實現的重點關注
首次實現的範圍刻意控制得清晰明確:優先處理那些後期難改、容易出錯的部分。
清晰的遷移路徑。 當前跑着 Additional Variation Images 擴展的商店,不用手動幹預就能遷移到核心。想退回擴展,數據也不會丟。向後兼容。 舊元數據留在磁盤上,運行時回退機制能確保未遷移的變體正確渲染,受影響模板的主題覆蓋也能繼續工作。與擴展功能對等。 AVI6 插件能做的事,核心實現都能做。開箱即用的 REST API2 支持。 跟最初發布時沒有 REST 端點的品牌合併不同,變體圖庫從第一天起就通過 REST API 暴露(詳情見下文)。
所以,管理後台 UI7 的首次實現可能還有點粗糙。我們選擇先交付實質性的底層架構,在推出過程中迭代優化 UI,而不是因為重新設計而阻礙合併。
隨着功能在金絲雀測試階段推進,變體圖庫編輯器會迎來後續改進。
技術實現
變體圖庫存在 _product_image_gallery 裏——這是 WooCommerce 已經用於父級產品圖庫的同一個 postmeta 鍵。
我們努力確保圖庫從第一天起就通過 REST API 暴露。變體端點的 gallery_image_ids 屬性裏能找到它們,結構跟父級產品用的相同。
經典前台路徑和基於區塊的產品圖庫,內部都在用這個數據負載。
對於當前使用 Additional Variation Images 擴展的站點,存在 _wc_additional_variation_images 裏的舊數據,會在推出時遷移到規範位置。
舊元數據有意留在磁盤上,任何直接讀它的第三方代碼都能繼續工作。
遷移指南
當前用着 Additional Variation Images 擴展的站點,過渡路徑很平滑:啓用功能後,WooCommerce 在後台安排一個 Action5 Scheduler 任務,把舊圖庫數據複製到規範位置,每次跑 250 個變體,完成後自動重新排隊,直到全部完成。
遷移是冪等的,對已遷移的變體重新跑不會產生任何效果,因為有哨兵元數據兜底。不過,建議先在測試站點上試試。
跟 _wc_additional_variation_images 直接交互的自定義代碼應該能繼續工作,因為舊元數據保留了。但任何向變體的 _product_image_gallery 寫數據的代碼,可能需要意識到核心現在會從裏面讀數據。
前台兼容性
變體圖庫支持經典的單產品模板和基於區塊的產品圖庫,能搭配多種不同組合,包括新舊區塊。
支持對 single-product/add-to-cart/variable.php 的主題覆蓋。
淘汰獨立擴展
獨立的 Additional Variation Images 擴展會在功能達到 100% 全面推出後,從 WooCommerce 市場 淘汰,策略跟淘汰品牌擴展時一樣。
具體來説:
當前已訂閲的商家不用做任何操作。 擴展持續工作,直到商店啓用核心功能。那時 WooCommerce 會自動停用獨立插件防止衝突。變體圖庫數據繼續渲染:數據一樣,只是現在由核心提供服務。活躍訂閲會被取消,當擴展從市場淘汰時。受影響的客户可以向支持團隊申請退款或信用額度。完整細節會在淘汰郵件裏發。受影響的商家會收到郵件通知,在關鍵推出里程碑(金絲雀測試和 100% 全面推出)時,包含説明和文檔鏈接。文檔正在遷移到核心。 現有的 Additional Variation Images 文檔會被重定向到核心產品文檔下的新變體圖庫文檔。
接近 100% 全面推出時,會通過單獨通知發佈更多細節——包括確切的淘汰日期、訂閲處理細節和文檔遷移。
如果你是 Additional Variation Images 的訂閲者,今天什麼都不用做;需要你操作時,我們會通過郵件聯繫你。
測試該功能
該功能會成為即將發佈的 WooCommerce 10.9 beta 的一部分,計劃 6 月 8 日發佈,通過上述代碼片段或 CLI 命令就能啓用。等不及的話,現在就能在 GitHub3 上的夜間構建版本 裏體驗。
強烈建議在測試環境裏測一下。
我們為此主題開了 GitHub 討論,期待聽聽你的使用體驗和反饋。
名詞解釋
- WooCommerce:WordPress 最流行的電子商務插件 ↩︎
- REST API:基於 HTTP 的應用程序接口 ↩︎
- GitHub:全球最大的代碼託管和協作開發平台 ↩︎
- WP-CLI:WordPress 的命令行管理工具 ↩︎
- Action:WordPress 鈎子類型之一,在特定位置執行代碼 ↩︎
- AVI:一種視頻文件格式 ↩︎
- UI:用户界面,用户與軟件交互的視覺部分 ↩︎



發表回覆