所以我正在使用Wordpress 4.1.1的高级自定义字段插件,我创建了4个自定义字段:" topIMG"," leftIMG"," centerIMG"," rightIMG"。我制作了图像,所以我可以在帖子中添加更多图像,并将它们放在我的页面上的特定区域。
所以最初我只想显示一个图像才能使它工作,这是我显示一个图像的代码:
<?php
$image = get_field('topimg');
$link = get_field('link', $image['id']);
?>
<div class="images">
<section id="topIMG">
<img src="<?php echo $image['url']; ?>" />
</section>
</div>
这样可以显示图像。现在我尝试创建一个foreach循环,这样我也可以显示其余的图像。这是代码:
<?php
$array = array('topimg', 'leftimg', 'centerimg', 'rightimg');
$image = get_field($array);
$link = get_field('link', $image['id']);
$output = '<div class="images">';
foreach($image as $image) {
$output .= '<section id='.$array.'>';
$output .= '<img src='.$link.'>';
$output .= '</section>';
}
$output .= '</div>';
echo $output;
?>
当我在网站上查看此内容时,出现错误,我不确定如何正确显示这些图像。非常感谢帮助。
我看到的错误:
警告:substr()期望参数1为字符串,数组在第268行的/home1/rlebo59/public_html/dev/wp-content/plugins/advanced-custom-fields/core/api.php中给出
警告:第499行/home1/rlebo59/public_html/dev/wp-includes/meta.php中isset或为空的非法偏移类型
警告:在第17行的/home1/rlebo59/public_html/dev/wp-content/themes/RyanPortfolio/single.php中为foreach()提供的参数无效
答案 0 :(得分:0)
您必须迭代此数组才能使用每个图像:
<?php
$array = array('topimg', 'leftimg', 'centerimg', 'rightimg');
$output = '<div class="images">';
foreach($array as $v){
$image = get_field($v);
if($v == 'centerimg'){
$link = $image['value'];
}else{
$link = $image['value']['url'];
}
$output .= '<section id='.$v.'>';
$output .= '<img src='.$link.' />';
$output .= '</section>';
}
$output .= '</div>';
echo $output;
?>