随机显示查询中的帖子

时间:2016-05-27 08:47:33

标签: php wordpress random posts

我有这个查询 -

<?php if( is_page_template('taxonomy-listing_area-channel.php') ) { ?>
<?php
            $posts = get_posts(array(

    'post_type'     => 'adverts',
    'numberposts'   => 1,
    'order'         => 'random',

    'meta_query'    => array(
        'relation'      => 'AND',
        array(
            'key'       => 'associate_adverts',
            'value'     => '204',
            'compare'   => 'LIKE',
        )
    ),
));

        ?>

<?php //if it's returning the object

foreach($posts as $advert){

 $img = get_field("top_advert", $advert->ID);?>

 <img src="<?php echo $img["url"]; ?>"/>

<?php }?>

但是对于somr reaosn,帖子只是显示为最后一个进入现在随机,我以前从来没有遇到过这个问题,但我不知道我哪里出错了,非常感谢帮助!

3 个答案:

答案 0 :(得分:1)

更改此处,您有语法错误,在双引号内使用单引号,

<img src="<?php echo $img['url']; ?>"/>

答案 1 :(得分:0)

您需要更改此

'post_type'     => 'adverts',
'numberposts'   => 1,
'order'         => 'random',

'post_type'        => 'adverts',
'posts_per_page'   => 1,
'orderby'          => 'rand',

现在你的代码看起来像

<?php if( is_page_template('taxonomy-listing_area-channel.php') ) { ?>
<?php
            $posts = get_posts(array(

 'post_type'        => 'adverts',
 'posts_per_page'   => 1,
 'orderby'          => 'rand',

    'meta_query'    => array(
        'relation'      => 'AND',
        array(
            'key'       => 'associate_adverts',
            'value'     => '204',
            'compare'   => 'LIKE',
        )
    ),
));

        ?>

<?php //if it's returning the object

foreach($posts as $advert){

 $img = get_field("top_advert", $advert->ID);?>

 <img src="<?php echo $img["url"]; ?>"/>

<?php } }?>

您也忘了关闭if声明。

答案 2 :(得分:0)

感谢所有帮助,

事实证明这是一个需要点击WPEngine以允许查询中的随机函数的框!