WordPressの新着記事を更新時間順に並べ替える方法

無料のブログツール「Wordpress(ワードプレス)」で、新着記事を投稿順ではなく、更新時間順に並べる方法を紹介する。

WordPressの初期状態では、記事を投稿すると、トップページに記事の投稿順(投稿時間順)にならんでいく。

しかし、この設定だと、過去の記事を書き直してもトップページに記事が出てず、埋もれたままになるってしまう。

そこで、Wordpressの新着記事を更新時間順に並べ替える方法を紹介する。方法は簡単で、プラグインも使わない。テンプレートに次のタグで記事を挟むだけである。

<?php query_posts($query_string .'&orderby=modified'); ?>
ループする記事のテンプレート部分
<?php wp_reset_query(); ?>

挟む記事の部分はテンプレートによって違うが、ループタグが目印になるので、リピートタグを目印に、テンプレート内を検索すると良い。

そうすると、Wordpressの独自タグの並びだけにすれば、テンプレートは次のような感じに成るはずだ(HTMLやCSSは省いている)。

<?php query_posts($query_string .'&orderby=modified'); ?>
<?php if(have_posts()): while(have_posts()): the_post(); ?>
<?php the_title(); ?>
<?php the_content(); ?>
<?php endwhile; endif; ?>
<?php wp_reset_query(); ?>

これで、Wordpressの記事は更新時間順にトップページに表示されるようになる。

次は、サイドバーの新着記事を更新時間順にする方法を紹介する。これもプラグインを使う必用は無い、サイドバーに次のコードを挿入するだけである。

<ul>
<?php query_posts($query_string .'&orderby=modified'); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title();?></a></li>
<?php endwhile; endif; ?>
<?php wp_reset_query(); ?>
</ul>

HTMLのリストで表示するようにしてあるので、HTMLやCSSで装飾してからサイドバーに入れると良い。

注意:404 not foundページのサイドバーでは表示できたが、404 not foundページのコンテンツ部分では表示できなかったので注意してほしい。

これで、Wordpress(ワードプレス)の投稿や新着記事を更新時間順に表示する方法の紹介を終える。