WordPressで更新日時順に投稿・固定ページを取得する方法

スポンサーリンク

WordPressで作ったサイト、一度作ったページに新しく投稿や固定ページを追加することは少ないけど、作ったページを更新することはよくあるという場合があると思います。

その時に更新した情報を一覧で表示させれたらいいなぁ、と思っていました。面倒なのかと思ってて、しばらく放置していたのですが、やってみたら案外すぐにできたので、やり方をシェアします。

投稿と固定ページを含め、更新日時が最新のものから10件取得して表示するという条件です。

時計

ソースコード

<?php
	$args = array( 'posts_per_page' => 10, 'orderby' => 'modified', 'post_status' => 'publish', 'post_type' => array( 'post', 'page' ) );
	$query = new WP_Query( $args );
	if ($query->have_posts()):
	while ($query->have_posts()) : $query->the_post();
?>
					<?php the_modified_date('Y/m/d'); ?><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br />
<?php endwhile; ?>
<?php endif; ?>

ポイントはWP_Queryにセットする引数ですね。ここで利用している引数を1つずつ解説すると・・・

  • posts_per_page:取得件数。ここでは10件取得したいので10と設定
  • orderby:並び順。modifiedが更新日時
  • post_status:公開状況。publishは公開済みのみ取得
  • post_type:どんな投稿タイプの記事を取得するか。postは投稿、pageが固定ページ。カスタム投稿タイプがあれば、足していくことができます

更新日時順にソートができることを知らなかったので、これができることを知って、ハードルがかなり下がりました。あとは今までも使ったことがあるので、すんなり完成です。

あと、もう一つ初めて知ったのは「the_modified_date」関数で更新日時を表示できるということです。いや〜、WordPressは便利ですね。やりたいと思ってたことをすぐに実現できます。