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

使用ACF字段传递ID执行reblex短码无输出问题求助

问题原因
  • 短码字符串中使用了HTML实体编码的引号",do_shortcode()函数仅支持识别原生单/双引号作为参数边界,不会自动解析HTML实体,导致短码的id参数无法被正确识别,执行后无输出。
  • 额外排查点:需确认ACF字段choix的返回值为纯数字ID,无多余空格、HTML标签等冗余字符。
解决方案

修复代码

将实体引号替换为原生引号,同时增加ID合法性校验,避免非法参数传入:

$choix = get_field( 'choix' );
// 校验返回值为有效数字ID
if ( $choix && is_numeric( $choix ) ) {
    // 数字类型ID可省略引号,避免符号转义问题
    echo do_shortcode( '[reblex id=' . absint( $choix ) . ']' );
}

如果需要保留引号包裹参数,可使用原生单引号:

$choix = get_field( 'choix' );
if ( $choix && is_numeric( $choix ) ) {
    echo do_shortcode( "[reblex id='" . absint( $choix ) . "']" );
}

异常排查

如果修改后仍无输出,可按以下步骤排查:

  • 临时添加调试代码var_dump($choix);,确认ACF字段返回值为纯数字ID。
  • 写死固定ID测试短码有效性:echo do_shortcode('[reblex id=6384]');,确认短码本身可正常输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:24:06