wp-monthly-article-list-2015

【修正版】WordPressの記事一覧を月別に表示させる方法

【修正前の記事】

WordPress備忘録(月別記事一覧・年月別アーカイブ)

2012年に書いた記事ですが、もしかして一回目で連想配列を作れるのかも?と思ったので、改めて挑戦してみました。

この形式の方が、前のコードに比べてリーダブルで、HTMLの形式も変更しやすくなりました。

$monthlyPosts[$date]の配列内はサンプルでは「time」「url」「title」を使っていますが、本文や抜粋など、投稿の情報であれば配列を足せば取得可能です。

ただし、前回書いた記述もそうですが、全記事を取得して表示させるので、
記事数が多いとかなり重くなりそうです。

「今年だけ」「過去2年間」など、細かく指定したい場合は、
get_posts()の値にdate_query(※3.7から追加)を追加します。

// 今年の投稿のみ取得する
$myPosts = get_posts( array(
	'posts_per_page' => -1,
	'date_query' => array(
		array(
			'year' => date( 'Y' ),
		),
	),
) );

// 過去2年間の投稿を取得する
$myPosts = get_posts( array(
	'posts_per_page' => -1,
	'date_query' => array(
		array(
			'compare' => 'BETWEEN',
			'inclusive' => true,
			'before' => date( 'Y' ),
			'after' => date( 'Y', strtotime( '-1 year' ) ),
		),
	),
) );

data_queryについては初めて知ったので、もう少し調べてみようと思います。

copyright © mellowchanter.info All Rights Reserved.