ワードプレスでブログを運営していく上で、特定のカテゴリーだけ表示する順番を変えたい!ってことがあると思います。・・・ないかな?笑

たとえば、他のカテゴリーでは通常通り新しい記事を上に表示したいんだけど、特定のカテゴリーだけは古い記事を上に持ってきたい!とか。

僕の場合も、「パズドラ降臨ノーコンクリア」カテゴリーを古い記事→新しい記事という順番で表示したかったので、いろいろ調べて実際に表示順を変更してみました。

よろしければ上のリンクをご覧になってみてください。
古い記事ほど上に表示されていて、並び順が逆(昇順)になっていると思います。

※この記事はプラグインを使わない方法になります!
Custom Query String Reloadedというプラグインを使えば、カテゴリーの表示順の変更等が簡単にできそうだったんですが、公式のプラグインじゃないのと、今のワードプレスに対応しているかわからなかったのでやめました。

スポンサーリンク
[adsense]

1.カテゴリーIDを調べよう

実は各カテゴリーにはカテゴリーIDというものがあります。
たとえば、上にあげたパズドラ降臨ノーコンクリアは「15」です。

この記事で扱う、特定のカテゴリーの表示順の変更にはこのカテゴリーIDが必要になってくるので、まずはカテゴリーIDを調べます。

2.カテゴリーIDを調べる方法

ワードプレスにログインして、投稿→カテゴリーと進みます。
すると、下の画像の様にカテゴリーの一覧が表示されると思います。

WS000000

ここで、カテゴリー名にカーソルを合わせてみましょう。
ブラウザにステータスバーが表示されている場合、カテゴリーIDが表示されているはずです。

WS000001

上の画像は「パズドラ降臨ノーコンクリア」にカーソルを合わせているので、ID=15と表示されています。

※そのままの画像だと小さくて何が書いてあるのか見えないと思いますが、クリックまたはタップしていただければ大きな画像が表示されるので確認できると思います。

このようにして、まずは自分の表示順を変更したいカテゴリーのカテゴリーIDを調べてください。

3.archive.php(category.php、index.php)を変更する

自分の使用しているテーマにcategory.phpがあればcategory.php、category.phpがなければarchive.php、archive.phpもなければindex.phpをちょこっといじって変更します。

※各ファイルがあるかどうかはテーマによって異なります。

僕の使っているテーマはarchive.phpがあってcategory.phpがないので、archive.phpを変更します。

(変更の方法はFTPソフトを使ってarchive.phpを表示して編集してアップロードです。念のため。)

各ファイル(僕の場合はarchive.php)の中に、<?php if (have_posts()) : ?>という記述があると思うので、その上に以下の記述を加えます。

<?php if(is_category(‘15‘)): ?>
<?php query_posts($query_string .’&order=asc’); ?>
<?php endif; ?>

上記15は「パズドラ降臨ノーコンクリア」カテゴリーのカテゴリーIDが15だからです。
ご自身の表示順を変更したいカテゴリーIDを入れてください

<?php if(is_category(’15’)): ?>
<?php query_posts($query_string .’&order=asc’); ?>
<?php endif; ?>
<?php if (have_posts()) : ?>

こんな感じに付け加えます。

付け加えられたらアップロードして確認します。
無事、表示順が古い記事~新しい記事へと変更できたでしょうか?

※追記:確かに<?php if (have_posts()) : ?>の上に記述したはずなのですが、今確認したら<?php if (have_posts()) : ?>の下に記述されていました・・・。

なんで?笑
よくわかりませんが、きちんと表示されているのでOKっていうことします。

※追記その2:現在は「パズドラ降臨ノーコンクリア」だけでなく、「パズドラ無課金攻略」カテゴリーも表示順を逆にしています。

4.複数のカテゴリーの表示順(並び順)を変更する方法

複数のカテゴリを指定する場合には、(array)を使います。

ですので、

<?php if (have_posts()) : ?>
<?php if(is_category(array(’15’,’11‘))): ?>
<?php query_posts($query_string .’&order=asc’); ?>
<?php endif; ?>

このような形にしてあげることで、複数のカテゴリーの並び順を逆にすることができます。

※11はパズドラ無課金攻略のカテゴリーIDです。
(array)は()をきちんと閉じてあげるのを忘れないように!
よくわかんないんですけど、<?php if (have_posts()) : ?>は未だに上に来たままです・・・笑