カスタム フィールド値の降順で投稿を並べ替えています。降順で n 番目の投稿を見つける方法があるかどうかを知りたいです。
例、順序は次のとおりです。
1st from top: id = 9
2nd from top: id = 5
3rd from top: id = 6
今、私はget_template_part()
投稿を表示するために使用しています。
などがあるか知りたいですget_template_part_of_post(3rd-from-top)
。
<div class="onethird">
<?php
$count_posts = wp_count_posts("ott_products", "");
$published_posts_orig = $count_posts->publish;
$published_posts = $published_posts_orig + (3 - ($published_posts_orig % 3));
$i = 0;
if ( have_posts()) : while($query->have_posts()) :
echo $i . " " . $published_posts;
$i = $i + 3;
$query->the_post();
get_template_part( 'content', 'category' );
if ( $i % 3 === 2 ) :
if ( ($i - 2 == $published_posts) ) :
$i = 3;
endif; endif;
if ( $i % 3 === 1 ) :
if ( ($i - 1 == $published_posts) ) :
echo "</div><div class='onethird last'>";
$i = 2;
endif; endif;
if ( $i % 3 === 0 ) :
if ( ($i == $published_posts) ) :
echo "</div><div class='onethird'>";
$i = 1;
endif; endif;
endwhile;
else :
get_template_part( 'no-results', 'archive' );
endif;
?>
</div>
これは私が現在使用しているものです。これにより、投稿が 3 つの列に分割されます。
変数i
は、3 列で上から下、左から右に変化します。
以前は、投稿が次のように表示されていました。
(Total 9 posts)
1 4 7
2 5 8
3 6 9
これで、次のことができますi
。
(Total n posts)
1 2 3
4 5 6
...
i
さて、問題は投稿を表示できないことです。投稿はまだ最初の順序で来ます。