循环自定义场图像

时间:2015-03-10 19:46:29

标签: php foreach advanced-custom-fields

所以我正在使用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()提供的参数无效

1 个答案:

答案 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;
?>