首页 > 解决方案 > 如何打印wordpress帖子?

问题描述

众所周知,要在 wordpress 上显示帖子,我们必须使用循环。但总的来说,wordpress上用来显示帖子的循环如下

$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的值显示第一篇文章,然后根据$i的值显示下一篇文章 = $i + 3,所以最终结果会打印$post[0], $post[ 3], $post[6], [...] ,有什么建议吗?

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

标签: phpwordpressloopswordpress-themingmasonry

解决方案


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

<?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();

?>

推荐阅读