使用WordPress高级自定义字段时,“url”的非法字符串偏移量

时间:2016-06-19 12:37:21

标签: php wordpress advanced-custom-fields

我正在将Bootstrap模板转换为WordPress主题。

对于自定义字段,我使用插件 Advanced Custom Fields 。问题是当我尝试在高级自定义字段的帮助下添加图像时,出现以下错误:

  

警告:第31行的C:\ wamp64 \ www \ my-site \ wordpress \ wp-content \ themes \ bootstraptowordpress \ page-home.php中的非法字符串偏移'url'

但是,当我通过此插件添加文字时,它会显示无错误

我没有安装除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>

2 个答案:

答案 0 :(得分:1)

有三种方法可以在ACF(数组,URL或ID)中返回图像字段。听起来你的字段设置为返回URL - 它以字符串形式返回。

因此,您需要像这样访问它:

<?php echo $home_page_logo; ?>

而不是:

<?php echo $home_page_logo['url']; ?>

或者,您可以编辑WordPress管理员中字段的设置,并将其配置为返回图像数组而不是URL:

enter image description here

如果它设置为数组选项,您可以访问url,就像您当前正在这样做,以及访问与图像相关的一系列其他数据(例如其宽度和高度,WordPress附件ID,输入的标题等。)

答案 1 :(得分:-4)

使用重力形式插件更好。你可以在这里下载: Rocket Genius Gravity Forms WordPress Plugin

但是如果想修复代码,请尝试测试是否为数组:

auctex.vim

http://php.net/manual/function.is-array.php