Как распечатать WordPress пост? - PullRequest
0 голосов
/ 12 января 2020

Как мы знаем, для отображения сообщений в WordPress мы должны использовать al oop. Но в целом l oop, используемый для отображения сообщений в 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], [...], любые предложения?

извините за мой английский sh, спасибо - Эдвин .

Ответы [ 2 ]

1 голос
/ 12 января 2020

Это должно быть решение для отображения ваших сообщений:

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

?>
0 голосов
/ 13 января 2020

я получил этот ответ от другого вопроса и другого форума

$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;
}
...