ググれば簡単に見つかると思ったら、全然見つからなくて困ったので備忘録
管理画面に入れば記事数なんてすぐにわかるのですが、例えばニュースサイトなど運営するときに、当日の件数がぱっと見わかるようにしたい時など、サイトに表示する必要が出てくる。
そんな時に使います。
長々するのも嫌なので、コードだけ書きます。
先ずはその日の記事の取得
※今回は当日(不確定日時)の為
dateは
現在のyear(年)・・・(‘Y’),
現在のmonth(月)・・・(‘m’),
現在のday(日)・・・(‘d’)
としています。
<?php
$args = array(
'post_type' => 'post',
'date_query' => array(
array(
'year' => date( 'Y' ),
'monthnum' => date( 'm' ),
'day' => date( 'd' )
)
)
);
$today = new WP_Query( $args );
$today_count = $today -> found_posts;
?>
次に、出力
<?php echo '' . $today_count . ' 件です。'; ?>
訪問者にわかるように日付も先につけておいてあげると親切ですね。
<p>
<?php echo date('Y-m-d') ;?>
の記事数は
<?php
$args = array(
'post_type' => 'post',
'date_query' => array(
array(
'year' => date( 'Y' ),
'monthnum' => date( 'm' ),
'day' => date( 'd' )
)
)
);
$today = new WP_Query( $args );
$today_count = $today -> found_posts;
echo '' . $today_count . ' 件です。';
?>
</p>
結果(2015年08月11日だった場合)出力は
2015-08-11の記事数は ◯件です。
となります。
更に、カテゴリー名やIDを取得して、同じカテゴリーに属する記事数を出力したい場合は↓のようになります。
また、取得した記事がなかった場合(0件)
「お探しの記事は見つかりませんでした。」
を表示するように条件分岐しました。
<p>
<?php echo date('Y-m-d') ;?>
の記事数は
<?php
$cats = get_the_category();
$now_cats = $cats[0] ->cat_ID;
$now_cats_name = $cats[0] ->name;
$args = array(
'post_type' => 'post',
'cat' => $now_cats,
// 'posts_per_page' => -1,
'date_query' => array(
array(
'year' => date( 'Y' ),
'monthnum' => date( 'm' ),
'day' => date( 'd' )
)
)
);
$today = new WP_Query( $args );
$today_count = $today -> found_posts;
if($today_count == 0){
echo 'お探しの記事は見つかりませんでした。';
}else{
echo '' . $today_count . ' 件です。';
echo $now_cats;
echo $now_cats_name;
}
?>
</p>