没有副本的随机图像(ACF图库)

时间:2015-04-20 作者:user1457514

我有一个用高级自定义字段创建的库字段。我的代码会显示页面上的所有图像。到目前为止还不错。我想所有的图像随机加载。我尝试使用shuffle()和array\\u rand()。这很好,它以随机顺序加载我的图像。我的问题是重复的。我有一些图像,我可以看到正在加载的重复图像。

我的当前代码:

<?php while ( have_posts() ) : the_post(); ?>
<?php $images = get_field(\'gallery\');
// thumbnail
if( $images ): ?>
<ul id="container" class="tiles-wrap animated">
<?php array_rand($images); ?> //I tried shuffle($images)
    <?php foreach( $images as $image ): 
       // $rand_class = array(\'small\', \'medium\', \'large\');
    $size = \'medium\';
$thumb = $image[\'sizes\'][ $size ];
$width = $image[\'sizes\'][ $size . \'-width\' ];
$height = $image[\'sizes\'][ $size . \'-height\' ]; ?>

   <li><img src="<?php echo $image[\'sizes\'][\'medium\']; ?>" alt="<?php echo $image[\'alt\']; ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" /></li>       

    <?php endforeach; ?>
<?php endif; ?>
</ul>
    <?php endwhile; // end of the loop. ?>
提前谢谢你。

1 个回复
SO网友:Behzad

使用array_unique() foreach之前:

已编辑:

<?php while ( have_posts() ) : the_post();

    $images = get_field(\'gallery\');

    // thumbnail
    if( $images ): 
?>
    <ul id="container" class="tiles-wrap animated">
        <?php 
            $images = array_rand($images); 
            $images = array_unique($images); 

            foreach( $images as $image ): 

                // $rand_class = array(\'small\', \'medium\', \'large\');
                $size = \'medium\';
                $thumb = $image[\'sizes\'][ $size ];
                $width = $image[\'sizes\'][ $size . \'-width\' ];
                $height = $image[\'sizes\'][ $size . \'-height\' ]; ?>

               <li><img src="<?php echo $image[\'sizes\'][\'medium\']; ?>" alt="<?php echo $image[\'alt\']; ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" /></li>       

            <?php endforeach;
       endif; ?>
    </ul>
<?php endwhile; ?>

结束

相关推荐

没有副本的随机图像(ACF图库) - 小码农CODE - 行之有效找到问题解决它

没有副本的随机图像(ACF图库)

时间:2015-04-20 作者:user1457514

我有一个用高级自定义字段创建的库字段。我的代码会显示页面上的所有图像。到目前为止还不错。我想所有的图像随机加载。我尝试使用shuffle()和array\\u rand()。这很好,它以随机顺序加载我的图像。我的问题是重复的。我有一些图像,我可以看到正在加载的重复图像。

我的当前代码:

<?php while ( have_posts() ) : the_post(); ?>
<?php $images = get_field(\'gallery\');
// thumbnail
if( $images ): ?>
<ul id="container" class="tiles-wrap animated">
<?php array_rand($images); ?> //I tried shuffle($images)
    <?php foreach( $images as $image ): 
       // $rand_class = array(\'small\', \'medium\', \'large\');
    $size = \'medium\';
$thumb = $image[\'sizes\'][ $size ];
$width = $image[\'sizes\'][ $size . \'-width\' ];
$height = $image[\'sizes\'][ $size . \'-height\' ]; ?>

   <li><img src="<?php echo $image[\'sizes\'][\'medium\']; ?>" alt="<?php echo $image[\'alt\']; ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" /></li>       

    <?php endforeach; ?>
<?php endif; ?>
</ul>
    <?php endwhile; // end of the loop. ?>
提前谢谢你。

1 个回复
SO网友:Behzad

使用array_unique() foreach之前:

已编辑:

<?php while ( have_posts() ) : the_post();

    $images = get_field(\'gallery\');

    // thumbnail
    if( $images ): 
?>
    <ul id="container" class="tiles-wrap animated">
        <?php 
            $images = array_rand($images); 
            $images = array_unique($images); 

            foreach( $images as $image ): 

                // $rand_class = array(\'small\', \'medium\', \'large\');
                $size = \'medium\';
                $thumb = $image[\'sizes\'][ $size ];
                $width = $image[\'sizes\'][ $size . \'-width\' ];
                $height = $image[\'sizes\'][ $size . \'-height\' ]; ?>

               <li><img src="<?php echo $image[\'sizes\'][\'medium\']; ?>" alt="<?php echo $image[\'alt\']; ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" /></li>       

            <?php endforeach;
       endif; ?>
    </ul>
<?php endwhile; ?>

相关推荐