【Cocoon】同じカテゴリーの記事の順番を自由に並べ替える方法

カテゴリー内の記事を新着順ではなく、好きな順番に並べ替えたい!と思ったことはありませんか??

読んでもらいたい順番で表示できたら・・・とずっと悩んでいましたが、試行錯誤の末に記事を自由に並べ替えられる2つの方法に辿り着きました。

  • プラグインを使って簡単に並べ替える方法
  • PHPコードを活用した方法

同じように困っている方の参考になれば嬉しいです。

スポンサーリンク

カテゴリー内の記事を並べ替える方法

記事の並べ替えは、主に2つの方法があります。

  1. プラグインを使う
    初心者におすすめ。ドラッグ&ドロップで直感的に操作できます。
  2. PHPコードを使う
    中級者以上向け。カスタムフィールドを活用して、柔軟な設定が可能。

それぞれのメリット・デメリットを表で整理しました。

プラグイン vs PHP の比較

項目プラグインPHP
難易度初心者向け、簡単中級者以上向け
操作方法ドラッグ&ドロップカスタムフィールドに数値を入力
自由度制限あり高い(条件分岐も可能)
おすすめシーンとにかく手軽に並べ替えたい細かい条件で制御したい

ポイントは「手軽さ重視ならプラグイン、柔軟性重視ならPHP」です。

プラグインで並べ替える方法

一番手軽なのは「Post Types Order」というプラグインを使う方法です。

  • 投稿一覧ページで記事をドラッグ&ドロップするだけで順番を変えられる
  • カテゴリーごとの並べ替えにも対応
  • カスタム投稿タイプでも使用可能

インストール後は「投稿一覧」画面に移動し、記事をつかんで動かすだけ!とてもシンプルなので、コードが苦手な方には断然おすすめです。

PHPで設定する方法

もっと柔軟に制御したい場合は、カスタムフィールド+PHPコードで並べ替えを設定します。

1. 記事の順番を設定する方法

PHPで記事の順番を制御するには、カスタムフィールドを使います。

カスタムフィールドの設定カスタムフィールドの設定

カスタムフィールドの有効化

  1. WordPressの管理画面で「投稿編集画面」を開きます。
  2. 画面右上の「表示オプション」をクリックし、「カスタムフィールド」にチェックを入れて有効化します。

カスタムフィールドに数値を入力

  1. 各記事に「カスタムフィールド」を追加します。
  2. カスタムフィールドにキー名 display_order を追加設定します(PHPコードで指定するキーと一致させる必要あり)。
  3. 値に記事の順番を数値(1,2,3…)で入力。小さい数字ほど上に表示されます。

2. PHPコードで並び替えを有効にする

コードをfunctions.phpに追加します。
バックアップは忘れずに!!

functions.phpの設定場所

ダッシュボード→外観の右側に『テーマのための関数』があります。

ここにコードを入力していきます。

functions.phpにコードを追加

functions.phpに以下のコードを追加することで、display_orderに入力した数値に基づいて並び替えが適用されます。

function custom_query_orderby($query) {
    if (is_category('212') && $query->is_main_query()) { // カテゴリーIDを指定
        $query->set('meta_key', 'display_order'); // カスタムフィールドのキー
        $query->set('orderby', 'meta_value_num'); // 数値で並べ替え
        $query->set('order', 'ASC'); // 昇順
    }
}
add_action('pre_get_posts', 'custom_query_orderby');

動作の仕組み

  • is_category('212'): カテゴリーIDが「212」の場合のみ、この並び替えを適用します。他のカテゴリーに適用したい場合は、IDを変更します。
  • meta_keymeta_value_num: meta_keyでカスタムフィールドの名前(ここではdisplay_order)を指定します。記事はdisplay_orderに入力した数値で並べ替えられます。
  • orderパラメータ: 並び順を指定します。
    • ASC: 昇順(小さい数値から順に表示)。
    • DESC: 降順(大きい数値から順に表示)。

さいごに

私が並べ替えたかったのは「ヒューマンデザインとは?」というカテゴリーの記事。古い記事も多かったので、新しい読者さんが迷わないように整理できて大満足!
自分のサイトを使いやすくできるのは楽しいですね🎵

※注意点:カスタムフィールドの値は「1,2,3…」ときっちり連番にしないとエラーが出る場合があります。


ぜひあなたのサイトでも活用してみてください😊


この記事を書いた人
クスリ嫌いな薬剤師
Shizuka

「なにこれ?!」と思った気づきや、「これいいかも!」と感じた知識や「役立つ学び」情報をまとめています。
ヒューマンデザインをベースにした「自分を知ること」や、薬剤師だからこその薬に頼りすぎない心と体の調和を大切にしています。
私自身の好奇心が、誰かの光につながる小さなヒントになればうれしいです。

Shizukaをフォローする
WordPressテクノロジー
スポンサーリンク
シェアする
Shizukaをフォローする

コメント

タイトルとURLをコピーしました