使用 WordPress 高级自定义字段时 'url' 的非法字符串偏移
Illegal string offset for 'url' when using WordPress Advanced Custom Fields
我正在将 Bootstrap 模板转换为 WordPress 主题。
对于自定义字段,我使用插件 Advanced Custom Fields。问题是当我尝试在 高级自定义字段 的帮助下添加图像时,出现以下错误:
Warning: Illegal string offset 'url' in C:\wamp64\www\my-site\wordpress\wp-content\themes\bootstraptowordpress\page-home.php on line 31
然而,当我通过这个插件添加文本时,它显示 没有错误。
除了ACF,我没有安装其他插件。
这是我的代码:
$home_page_logo = get_field('home_page_logo');
<div class="front_logo">
<?php if( !empty($home_page_logo)): ?>
<img src="<?php echo $home_page_logo['url']; ?>" alt="<?php echo $home_page_logo['alt']; ?>" />
<?php endif; ?>
</div>
最好使用gravity forms插件。你可以在这里下载:
Rocket Genius Gravity Forms WordPress Plugin
但如果想修复您的代码,请尝试测试是否为数组:
<?php
$yes = array('this', 'is', 'an array');
echo is_array($yes) ? 'Array' : 'not an Array';
echo "\n";
$no = 'this is a string';
echo is_array($no) ? 'Array' : 'not an Array';
?>
可以通过三种方式在 ACF 中 return 编辑图像字段(数组、URL 或 ID)。听起来您的字段设置为 return URL - return 是一个字符串。
因此,您需要这样访问它:
<?php echo $home_page_logo; ?>
而不是这个:
<?php echo $home_page_logo['url']; ?>
或者,您可以在 WordPress 管理员中编辑该字段的设置并将其配置为 return 图像数组而不是 URL:
如果它设置为数组选项,您可以像当前一样访问 url
,以及访问与图像相关的一系列其他数据(例如它的宽度和高度, WordPress 附件 ID、输入的标题等)
我正在将 Bootstrap 模板转换为 WordPress 主题。
对于自定义字段,我使用插件 Advanced Custom Fields。问题是当我尝试在 高级自定义字段 的帮助下添加图像时,出现以下错误:
Warning: Illegal string offset 'url' in C:\wamp64\www\my-site\wordpress\wp-content\themes\bootstraptowordpress\page-home.php on line 31
然而,当我通过这个插件添加文本时,它显示 没有错误。
除了ACF,我没有安装其他插件。
这是我的代码:
$home_page_logo = get_field('home_page_logo');
<div class="front_logo">
<?php if( !empty($home_page_logo)): ?>
<img src="<?php echo $home_page_logo['url']; ?>" alt="<?php echo $home_page_logo['alt']; ?>" />
<?php endif; ?>
</div>
最好使用gravity forms插件。你可以在这里下载: Rocket Genius Gravity Forms WordPress Plugin
但如果想修复您的代码,请尝试测试是否为数组:
<?php
$yes = array('this', 'is', 'an array');
echo is_array($yes) ? 'Array' : 'not an Array';
echo "\n";
$no = 'this is a string';
echo is_array($no) ? 'Array' : 'not an Array';
?>
可以通过三种方式在 ACF 中 return 编辑图像字段(数组、URL 或 ID)。听起来您的字段设置为 return URL - return 是一个字符串。
因此,您需要这样访问它:
<?php echo $home_page_logo; ?>
而不是这个:
<?php echo $home_page_logo['url']; ?>
或者,您可以在 WordPress 管理员中编辑该字段的设置并将其配置为 return 图像数组而不是 URL:
如果它设置为数组选项,您可以像当前一样访问 url
,以及访问与图像相关的一系列其他数据(例如它的宽度和高度, WordPress 附件 ID、输入的标题等)