通过Wordpress帖子随机化PHP中的数组内容

时间:2014-06-17 13:36:12

标签: php arrays wordpress random posts

你们知道如何限制每页的帖子并随机化wordpress中的帖子吗?

我在后端有一个关系字段,我添加和删除我创建的项目以显示在网站中。此内容通过以下WP_Query打印:

<?php
  $args = array (
    'post_type'      => 'home_banners'

  $fullbanner = new WP_Query ( $args );
?>

这是PHP:

<?php if ( have_posts() ) : while ( $fullbanner->have_posts() ) : $fullbanner->the_post(); ?>

#####Get the relationship field
<?php $banners = get_field('home_banner_01_selection'); ?>
#####Check if the relationship field has contents
<?php if( $banners ): ?>
  #####Start foreach
  <?php foreach( $banners as $banner ): ?>
    <a href="<?php the_field('home_link', $banner->ID ); ?>"><?php the_field( 'home_headline', $banner->ID ); ?></a>
  <?php endforeach; ?>
<?php endif; ?>

我在此关系字段中添加了三个内容。我希望每页只显示一个内容,并在刷新页面时随机化。目前,它显示页面中的所有三个内容。

我注意到var $banners表现为array。如果我添加echo count($banners);,它将显示3.此外,如果我添加shuffle($banners);,它将在其中随机播放内容。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

你可以随机播放数组$ banners,然后在数组中回显帖子

<?php
    $banners = get_field('home_banner_01_selection');
    if($banners) {
        shuffle($banners);
        ?>
            <a href="<?php the_field('home_link', $banners[0]->ID ); ?>"><?php the_field( 'home_headline', $banners[0]->ID ); ?></a>
        <?php
    }
?>