私はポストのNOを表示するためにこの方法を試しました:
<?php
$news_2 = new WP_Query( array ('post_type'=> 'jobs','posts_per_page'=> '10' , 'meta_key' => 'status_for_jobs','meta_value' => '1') );
if ( $news_2->have_posts() ) { while ( $news_2->have_posts() ) { $news_2->the_post();
$count = $news_2->post_count;
?>
<li><h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3></li>
<?php } } ?> <?php wp_reset_query(); ?>
投稿のNO = 0の場合、私はこれを表示する必要があります -
<?php
$news_2 = new WP_Query( array ('post_type'=> 'jobs','posts_per_page'=> '10' , 'meta_key' => 'status_for_jobs','meta_value' => '1') );
if ( $news_2->have_posts() ) { while ( $news_2->have_posts() ) { $news_2->the_post();
$count = $news_2->post_count;
if ($count == '0') {
?>
<li><h3><a href="javascript:void(0)">No Post</a></h3></li>
<?php
} else {
?>
<li><h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3></li>
<?php } ?>
<?php } } ?> <?php wp_reset_query(); ?>
しかし、投稿の総数ではなく、私は何もしていません。
これを修正するための提案はありますか?
WP_Query
はすでにあなたのためにそれをしているので、いくつかの追加情報、再び投稿を数える必要はありません。これを明確にするために、"PropertiesセクションにあるWP_Query
のクラスリファレンスからの情報を以下に示します。
$ post_count
表示されている投稿数。$ found_posts
現在のクエリパラメータに一致すると思われる投稿の総数
これはどういう意味ですか
$post_count
はあなたに総投稿数を教えてくれません。それよりも投稿数が少ない場合、または最後のページに表示されていて残りの投稿数が少ない場合を除き、ほとんどの場合、post_per_page
パラメータで定義した投稿数が表示されます。$found_posts
は、特定のクエリに関連する投稿の総数を取得するために使用できます。それで、それらを再び数える必要はありません。あなたの場合、あなたはこのようにあなたの$count
変数に合計カウントを得ることができます:
$count = $news_2->found_posts;
それに加えて、@helgathevikingは、あなたがあなたの質問で示したものから、あなたが余分な条件を必要としないということです、あなたがすでに持っている条件の中で、have_posts()
メソッドを単に使うことができます。
投稿が見つからない場合は、投稿を数えて何かを表示する必要はありません。あなたはif($news_2->have_posts())
チェックのelse
の部分を使うことができます。
$news_2 = new WP_Query( array ('post_type'=> 'jobs','posts_per_page'=> '10' , 'meta_key' => 'status_for_jobs','meta_value' => '1') );
if ( $news_2->have_posts() ) {
while ( $news_2->have_posts() ) {
$news_2->the_post();
?>
<li><h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3></li>
<?php }
} else { ?>
<li><h3>No Post</h3></li>
<?php } ?>
<?php wp_reset_query(); ?>
あなたが本当に返された投稿の数を数える必要があるのであれば、あなたは使用することができます
$count = count( $news_2->posts );