如何打印 wordpress post?

How to print wordpress post?

我们知道,要在 wordpress 上显示 post,我们必须使用循环。但是一般情况下,在wordpress上用来显示posts的循环是这样的

$query = new WP_Query( $args );
$query = $query->get_posts();
 
foreach ($query as $post) :
the_post();
endforeach;

问题是,如何得到$post[$i],这样得到的结果如下。

<!-- i want to print wordpress post like this format-->

<div class='grid'>

  <div class='column'>
  <!-- $i = 0 -->
  <!-- start loop -->
  <!-- print post -->
  <span><?php echo $post[$i]->title; ?></span>
  <!-- $i = $i + 3 -->
  <!-- end loop -->
  </div>

</div>

的概念是我想根据$i的值显示第一个post,然后根据$i的值显示下一个post = $i + 3,所以最终结果将打印 $post[0], $post[3], $post[6], [...] ,有什么建议吗?

对不起我的英语,谢谢 - Edwin。

这应该是显示您的帖子的解决方案:

<?php

    $posts = new WP_Query( $args );

    if( $posts->have_posts() ) : //checks if query have posts
        while( $posts->have_posts() ) : $posts->the_post();
            if( $i % 3 == 0 ) : //every third post ?>
                <div class='grid'>
                    <div class='column-<?php the_ID(); ?>'>
                        <span>the_title();</span>
                    </div>
                </div>
            <?php endif;
            $i++;
        endwhile;
    else :
        // if no posts
    endif;
    wp_reset_postdata();

?>

我从其他问题和其他论坛得到了这个答案

$query = new WP_Query( array( 'post_type' => 'page' ) );
$posts = $query->posts;

foreach($posts as $post) {
    // Do your stuff, e.g.
    // echo $post->post_name;
}

我对代码进行了一些更改以获得我的结果

$query = new WP_Query();
$posts = $query->posts;

$i = 0;
foreach($posts as $post) {
    // Do your stuff, e.g.
    // echo $post[$i]->post_name;
$i = $i + 3;
}