0

我在 WP 网站上使用以下代码。

<?php
    $images = array();
    $images[] = $profile_user->banner_image_1;
    $images[] = $profile_user->banner_image_2;
    $images[] = $profile_user->banner_image_3;
    $images[] = $profile_user->banner_image_4;  

    if(!empty($images[0]) || !empty($images[1])|| !empty($images[2])||   !empty($images[3])){
?>
    <?php echo '<div class="slider2">'; ?>

    <?php foreach($images as $img): ?>
        <?php if(!empty($img)): ?>
            <div>
                <img src="
                <?php   
                    $image_id = $img;
                    $post_image_data = wp_get_attachment_image_src( $image_id, $size='profile_banner_img' );
                    echo $post_image_data[0];
                ?>" />
            </div>
        <?php endif; ?>
    <?php endforeach; ?>

    <?php echo '</div>'; ?>
<?php } ?>

我需要做的是使用“IF”或“array”语句或其他东西,看看用户是否只填写了“banner_image_1”并显示不同的代码。

换句话说,如果 banner_image_1 返回信息但 2、3、4 我不需要删除

<div class="slider2"> and the </div>
4

1 回答 1

0

试试这个:

<?php

$images = array();

for($i=1; $i<=4; $i++) {
    if(!empty($profile_user->{"banner_image_$i"})) {
        $images[] = $profile_user->{"banner_image_$i"};
    }
}

$validPics = count($images);


if($validPics > 0) {
    if($validPics > 1) echo '<div class="slider2">';

    foreach($images as $img_id) {

        $img_src = wp_get_attachment_image_src( $img_id, $size='profile_banner_img' );

        echo '<div><img src=\"' . $img_src[0] . '" /></div>';

    }

    if($validPics > 1) echo '</div>';
}
于 2013-07-31T17:18:13.317 回答