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

PHP中do_shortcode调用带属性top_rated_products短代码失效

问题原因

带属性的短代码调用失效,核心是PHP引号嵌套语法错误:你用双引号包裹do_shortcode()的参数字符串,短代码内部的属性值又直接使用双引号,会导致PHP提前截断字符串,解析逻辑出错,功能自然无法正常运行。这也是不带属性的短代码写法可以正常运行的原因——没有内部引号触发字符串截断问题。

可用解决方法

任选以下一种写法替换原有代码即可,三种写法效果完全一致,WordPress短代码解析器对单、双引号包裹的属性值都能正常识别:

  • 方法1:短代码内部属性改用单引号,保留外层双引号
<?php
echo do_shortcode("[top_rated_products orderby='rand' per_page='15']");
?>
  • 方法2:转义内部的双引号,在内部双引号前加反斜杠,标记其为字符串内容而非字符串边界
<?php
echo do_shortcode("[top_rated_products orderby=\"rand\" per_page=\"15\"]");
?>
  • 方法3:外层参数改用单引号包裹,短代码内部属性保留双引号
<?php
echo do_shortcode('[top_rated_products orderby="rand" per_page="15"]');
?>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 22:24:11