WordPressでカテゴリー記事を古い順で出す方法

カテゴリーを古い順で出す
スポンサーリンク

WordPressでブログを投稿すると、初期の状態では投稿日が最新のものが上に表示されるようになっています。もちろん最新の情報が1番見られる部分にくるのは便利ですので、そのままでもいいという場合も多いとは思います。

しかし、日記等の投稿ではそこまで気にする必要はないのですが、手順の説明系の投稿を行った場合”投稿日が古い順”に表示された方が都合がいい時もあります。

テーマによってはそういったソート機能が用意されている場合もありますが、それがないことも多いかと思います。

そこでこの記事では、特定のカテゴリーや全ての記事の並び替えについて、プラグインなしまたはプラグインを使い並べ替える方法を紹介します。

並び替え方法

プラグインなし

【こんな人におすすめ!】

・プラグインが増えるのがいや
・とにかく投稿日が古い順に並べばいい
・カテゴリーのページのみ並べ替えたい

プラグインは便利ですが、増えすぎると管理が増えていや、という方は一定数いらっしゃるのではないでしょうか。そういった方はこの方法をおすすめします。

事前情報

並び替えは「functions.php」にコードをコピーすることで完了します。場所は以下の方法で確認できます。

場所解説

テーマエディター内の右のバーで「functions.php」を押してください。

functions.phpの場所

全てのカテゴリーを並び替える

function my_order_devcat( $query ) {
	if( $query->is_category() ) {
			$query->set('order', 'ASC');
			$query->set( 'orderby', 'date' );
	}
}
add_action( 'pre_get_posts', 'my_order_devcat' );

上のコードをコピーして「functions.php」に貼り付けます。なお貼り付ける位置ですが基本的には一番下で大丈夫です。ただし一番下に「 ?> 」これが置かれている場合はその一行上に貼り付けます。

※大丈夫な場合はしっかりと色がついた状態でコードが表示されるはずです。文字色が全て黒などの場合はもう一度貼り付ける場所を確認してください。

貼り付け完了後はページの下にある「ファイルを更新」を押します。

特定のカテゴリーを並び替える

function my_order_devcat( $query ) {
	if (is_category(array( 'ここにURLの最後をいれる','2個目はここ'))) {
		if( $query->is_category() ) {
				$query->set('order', 'ASC');
				$query->set( 'orderby', 'date' );
		}
	}
}
add_action( 'pre_get_posts', 'my_order_devcat' );

全てではなく特定のカテゴリーの記事のみ古い順に並び替えたい場合は、カテゴリーを表示した際に出るURLの最後の部分を「ここにURLの最後をいれる」の部分に入れてください。

2個目からはその後ろです。1個でいい場合は「,’2個目はここ’」を消してください。逆に増やす場合は「,’2個目はここ’」をコピーしてその後に貼り付けて増やしていってください。

貼り付けURLの場所

※「/」は必要ありません!

function my_order_devcat( $query ) {
	if (is_category(array( 'home-page'))) {
		if( $query->is_category() ) {
				$query->set('order', 'ASC');
				$query->set( 'orderby', 'date' );
		}
	}
}
add_action( 'pre_get_posts', 'my_order_devcat' );

参考にこのサイト場合を置いておきます。

補足:他のルール

「$query->set( ‘orderby’, ‘date’ );」の「date」を他のパラメーターに変えることで並び替えのルールを変えることができます。以下はその一例です。

変更された順:modified
タイトル:title
ランダム:rand

よく使うのはこういったルールでしょうか。

プラグインあり

【こんな人におすすめ!】

・投稿日等ではなく、独自のルールで並べたい
・直感的な操作で変更をしたい
・記事数が一定数以下

プラグインは「Intuitive Custom Post Order」を使います。このプラグインを使えばダッシュボードで直感的に記事の並び順が変更できます。インストールはプラグインの新規追加から行います。

プラグイン

追加後は設定の「並び替え設定」から、並び順を変えたい項目を選びます。

設定場所

投稿ページの他に固定ページも並び替えることが可能です。後は投稿一覧ページで項目をドラッグ&ドロップすることで並び替えが行われます。

場所の指示

最後に注意点として、プラグインと「functions.php」の書き換えを同時に行うと、予期せぬエラーが発生する可能性があります。十分に気をつけましょう。

あとがき

少ないうちは気にする必要がなかった並びも、記事を多く書いていけば並び替えを行って行きたくなるものですよね。最終的な並び方などを意識してカテゴリー分けを作っていくと、後々便利になるかもしれません。