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

カテゴリー内の記事が新着順になっていると、読者にとって少し分かりにくい場合がありませんか??

この度、記事を自由に並べ替えられるよう解決したので、プラグインを使った簡単な方法と、PHPコードを活用したカスタマイズ性の高い方法を比較しながら、具体的な手順を解説します。

同じ悩みを持つ方の参考になれば幸いです。

スポンサーリンク

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

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

  1. プラグインを使う
    初心者におすすめ。ドラッグ&ドロップで簡単に記事を並べ替えられます。
  2. PHPコードを使う
    中級者以上向け。カスタムフィールドを活用して、柔軟な設定が可能。

プラグインの『Post Types Order』は記事の順番をドラッグ&ドロップで変更可能で、カテゴリー別やカスタム投稿タイプにも対応しているようです。(私は未使用なので詳細不明)

プラグイン vs PHP の比較

項目プラグインを使う場合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: 降順(大きい数値から順に表示)。

さいごに

私が並べ替えたかったのは
初めての方に見ていただきたい
ヒューマンデザインとは?
のカテゴリー記事。

基本的な内容は古い記事になっているので
わかりやすく整理することで
興味を持ってもらった人へ親切な構成にできました。

カスタマイズできることが、またひとつ増えて楽しい🎵

ちなみにカスタムフィールドの数字は
きっちり順に使用しないと
バグを起こしますのでご注意を。

よければ使用してみてくださいね!!

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

「しなやかな心で自分らしく生きる」をテーマに、ヒューマンデザインをはじめ、ライフスタイルや自己成長に役立つ情報を発信しています。

薬剤師としての経験を活かしながら、薬に頼りすぎない健康的な生き方を模索し、心と体の調和を大切にしています。

日々の小さな発見を大切にし、自分のペースで心地よい生活を追求中。
経験を元に、あなたの人生に役立つヒントをお届けします!

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

コメント

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