wordpress 中的自定义短代码(如 `[cmruncode]`)默认不会在 html 属性(如 `iframe src`)中自动解析;必须显式调用 `do_shortcode()` 函数才能执行并返回实际值。
在 WordPress 主题模板或自定义页面中直接嵌入
✅ 正确做法是:在 PHP 环境中使用 do_shortcode() 显式解析短代码,并将其结果作为 PHP 变量输出到 src 属性中。例如:
⚠️ 注意事项:
? 补充说明:你发现 能正常工作,很可能是因为该链接位于 WordPress 内容过滤流程中(如 the_content 钩子),系统已自动调用 do_shortcode();而 iframe 的 src 属性不在该流程内,因此必须手动解析。
总结:短代码不是“全局替换”,而是依赖 WordPress 的内容过滤机制。在任意需要动态生成 HTML 属性值的场景中,请始终优先使用 do_shortcode() + 安全转义(如 esc_url()、esc_attr())组合,兼顾功能与安全性。