You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何WordPress插件注入的短代码被引号包裹无法执行?

解决WordPress短代码注入后显示为文本的问题

以下是几种可行的解决方法:

  • 使用do_shortcode()函数解析短代码
    插件注入短代码时,不要直接输出字符串,而是用WordPress内置的do_shortcode()处理后再输出。比如把原来的输出代码:

    echo "[learndash_course_grid skin='grid' card='grid-2' thumbnail_size='large' post_meta='false' taxonomies='ld_course_tag:"Emergency Preparedness"']";
    

    修改为:

    $shortcode = '[learndash_course_grid skin="grid" card="grid-2" thumbnail_size="large" post_meta="false" taxonomies="ld_course_tag:\'Emergency Preparedness\'"]';
    echo do_shortcode($shortcode);
    

    注意参数引号的转义要正确,避免语法错误。

  • 移除不必要的转义函数
    检查插件代码中是否使用了esc_html()、esc_attr()这类转义函数处理短代码内容。这类函数会把短代码的特殊字符转义成HTML实体,导致短代码被当作文本显示。如果有,直接移除这些转义,改用do_shortcode()处理。

  • 避免外层引号包裹短代码
    排查插件输出逻辑,确保没有在短代码外层额外添加双引号。比如不要写成:

    echo "\"[learndash_course_grid ...]\"";
    

    这种写法会让浏览器把带引号的内容识别为普通文本,直接去掉外层引号即可。

  • 调整内容过滤规则
    如果短代码是注入到the_content这类钩子中,检查是否有其他插件或主题添加了额外的过滤规则,导致短代码被转义。可以临时禁用其他插件或切换默认主题排查,或者使用remove_filter()移除影响短代码解析的过滤函数(注意操作范围,避免影响站点其他功能)。

内容的提问来源于stack exchange,提问作者Steev0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 18:16:07