只显示5个帖子循环中的一个帖子?

时间:2021-09-24 作者:robert0

假设我有一个查询,我获取了所有WP帖子,然后使用PHP进一步过滤掉:

<?php    

$posts = get_posts(array(


    \'tax_query\' => array(
            array(
                \'taxonomy\' => \'type\',
                \'field\'    => \'slug\',
                \'terms\'    => array( \'campaign\' ),
            ),
    
        ),  
    
    \'post_type\'         => \'post\',
    \'posts_per_page\'    => 999999999999999999,
    \'orderby\'               => \'rand\',
));

        
if( $posts): ?>
            
            <?php foreach( $posts as $post ): setup_postdata( $post ) ?>

// Filter out users with funds with PHP
<?php
$post_id = get_the_ID();
$advertiser_id = get_post_field( \'post_author\', $post_id );
$advertiser_userfunds=get_user_meta( $advertiser_id, \'userfunds\' , true );
if ($advertiser_userfunds > 0):?>

//5 posts left in the loop after filtering out users with funds

<?php endif;?>      



<?php endforeach; ?>
    
 <?php wp_reset_postdata(); ?>

<?php endif; ?>         
假设我现在剩下5篇帖子。

我的问题是,有没有办法只显示一个帖子?

它可以是随机顺序,也可以只是显示循环中的第一篇或最后一篇文章?

我知道有一个php代码if in_array(). 也许我可以实现这个?

急需帮助。

1 个回复
SO网友:robert0

通过插入以下内容解决了问题:

<?php if (in_array($counter, array(0)) ) :?>
// show content
<?php $counter++; endif;?>
上面基本上只显示数组中第一个的1个帖子。

以防有人需要解决这样的问题。

相关推荐

如何根据评论元字段对“EDIT-Comments.php”表中的评论进行排序?

目标在;编辑注释。php“;单击自定义列的标题后,基于注释元字段的表。上下文为了简洁起见,我们假设在发布评论时,一个名为;“红心”;指定给它,以便所有注释都具有从0到10的正整数字段。的bold 下面提到的步骤,前三个步骤是针对上下文和预期工作给出的,问题是在第四个步骤上。1. Creating the columnadd_filter( \'manage_edit-comments_columns\', \'hearts_add_comments_column\' ); function hea