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

WordPress出现Illegal string offset 'url'警告报错如何修复?

报错原因
  • 该警告触发的核心逻辑是:代码中的$c_icon实际为字符串类型,并非你预期的包含url键的关联数组,使用数组键访问字符串的偏移量不符合PHP语法规则,因此抛出报错。该场景在WordPress开发中非常常见,一般是后台未上传对应图标、自定义字段返回格式配置错误、取值逻辑异常导致的。
修复方案

你只需要在输出前增加类型和键存在性判断即可,同时可以兼容图标为空的场景避免页面显示异常,修改后的对应代码片段如下:

<div class="product-box">
    <div class="product-logo-box">
        <div class="product-logo">
            <?php if (is_array($c_icon) && isset($c_icon['url'])): ?>
                <img src="<?php echo $c_icon['url']; ?>" alt="<?php echo $c_name; ?>" title="<?php echo $c_name; ?>">
            <?php else: ?>
                <!-- 可替换为你自己的默认占位图路径 -->
                <img src="<?php echo get_stylesheet_directory_uri(); ?>/images/default-icon.png" alt="<?php echo $c_name; ?>" title="<?php echo $c_name; ?>">
            <?php endif; ?>
        </div>
        <div class="logo-text">
            <div>
                <h4><?php echo $c_name; ?></h4>
                <?php if( !empty( $c_snam ) ){ ?>
                    <span><?php echo $c_snam; ?></span>
                <?php } ?>
            </div>
        </div>
    </div>
</div>
额外排查建议
  • 如果你的$c_icon是通过ACF等自定义字段插件获取的图片值,进入字段设置页确认返回格式选择的是「数组」,如果选择的是「URL」格式,直接输出$c_icon即可,不需要加['url']
  • 如果是通过WordPress原生的get_post_meta、get_term_meta等函数取值,确认取值时第三个参数设置正确,没有强制返回字符串类型

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:15:06