通过我们的迁移服务中的短代码清理选项,在从 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) 中管理,可以根据需要将特定标签添加到删除列表中。