透過我們的遷移服務中的短代碼清理選項,在從 WordPress 匯入到 Shopify 時,文章中包含的短代碼將自動轉換為能在 Shopify 主題中正確顯示的格式。本頁面將解釋各短代碼的具体行為,以及為防止意外重寫而設置的安全功能。
1. 自動轉換的主要短代碼
以下短代碼將自動替換為可在 Shopify 正文 (body_html) 中運行的 HTML 標籤或嵌入式播放器。
[gallery](圖片畫廊)
在一個佈局中顯示多張圖片的短代碼。
- 規範:將
ids屬性中的 ID 解析為實際的圖片 URL,並根據columns(列數)設置以網格佈局輸出。 - 輸出範例:每張圖片都被包裹在
figure標籤中,整體被包裹在一個帶有樣式調整類名的div容器中。
[caption](圖片說明)
為圖片添加說明(標題)的短代碼。
- 規範:將圖片標籤與文本分離,並將其轉換為語義化的
<figure>和<figcaption>結構。
[audio] / [video](音訊和影片播放器)
用於在文章內播放音訊或影片檔案的短代碼。
- 規範:轉換為瀏覽器標準的
<audio controls>或<video controls>標籤。對於影片,還會保留poster(封面圖)屬性。
[embed](嵌入外部內容)
用於嵌入 YouTube 或 Vimeo 等外部網站的短代碼。
- 規範:自動識別 YouTube 或 Vimeo 的 URL,並將其轉換為嵌入式的
<iframe>播放器。出於安全考慮,其他 URL 將以外部連結的形式輸出。
[playlist](播放列表)
以列表形式顯示多個音訊或影片檔案的短代碼。
- 規範:將包含的項目輸出為包含圖片或檔案名稱的項目符號列表,以防止連結失效。
2. 防止意外轉換的安全功能
為了確保正文中的方括號 [...] 不會被誤刪或誤轉換,我們採用了以下安全規範:
僅限小寫判定(區分大小寫)
只有全部以小寫書寫的標籤才會被識別為短代碼。
- 轉換對象:
[gallery],[audio]等。 - 保護對象:包含大寫字母或數字的表述,如
[Any],[This],[123]等,將作為純文本原樣保留。
使用雙方括號轉義
與 WordPress 標準規範一致,可以透過書寫雙重方括號來避免轉換。
- 輸入:
[[gallery]] - 輸出:
[gallery](不作為短代碼執行,而是作為文本顯示)
未定義標籤的保護
對於系統中未定義的未知標籤,將按以下方式處理:
- 封閉型
[tag]內容[/tag]:僅移除標籤部分,「內容」必定會被保留。 - 獨立型
[tag]:除非包含在下文提到的黑名單中,否則將被視為文本原樣保留。
3. 自動刪除不必要的代碼(黑名單)
在遷移到 Shopify 時,來自已知套件的冗餘代碼將被自動刪除。
- 目標關鍵字:
contact-form-7,mwform_formkey,gravityform,contact-form,rev_slider,layerslider,sitemap,addtoany,yoast_breadcrumb等。 - 目標前綴:所有以
vc_(來自 WPBakery)或et_pb_(來自 Divi)開頭的標籤。
這些設置在面向開發者的配置檔案 (shortcode-config.ts) 中管理,可以根據需要將特定標籤添加到刪除列表中。