}HOMEWordPress記事一覧の表示順序を自由に設定したい!プラグイン&カスタムフィールド活用法2016.06.09WordPress記事一覧の表示順序を自由に設定したい!プラグイン&カスタムフィールド活用法TwitterFacebookB!はてブPocketWordPressの記事一覧ページは、標準だと公開日時の新しいものから順に表示されます。場合によっては古いものから逆順に表示させたい時や、公開日時に関係なく任意の順序で表示させたい時もあると思います。僕の場合、最近「カリキュラム式の会員サイト」を作る機会があったのですが、カリキュラム式だと記事を読んでほしい順番が決まっているので、1、2、3、・・と順に表示させたいし、後から記事を追加した時にも新しい記事をカリキュラムの任意の順番(途中とか)に差し込んだりしたいな、と。(こんな感じ)そこで今回は、プラグインやカスタムフィールドを活用して任意の順番で設定可能にする方法をご紹介します。functions.phpへの記述まとめ「カスタムフィールド」で順序を制御するカスタムフィールドは、記事データに独自の項目を追加する機能です。今回は「記事表示順(数値)」という項目を新たに追加し各記事にて設定可能にすることで、記事一覧ページで「記事表示順(数値)」の順番で記事が表示されるようにしてみます。2つの方法をご紹介しますが、どちらも内部的には「表示順序用のカスタムフィールド」を追加することで対応している形になります。Order」を使うのが、一番手っ取り早いです。インストールして有効化すると、管理画面の「投稿」メニュー内に「並び替え」という項目が追加され、クリックすると以下のように記事タイトル一覧が表示されます。各記事タイトルをドラッグ&ドロップで順序変更すれば、一覧ページでの表示順序も変更されます。操作性も良く、使いやすいです。場合によっては、余計なプラグインを入れたくない・・という事もあると思います。何らかのカスタムフィールド管理用プラグインを導入済みで、表示する場所ごとに細かく制御したい場合などは、独自にカスタムフィールドを追加して、functions.phpやテーマファイル内で表示順を制御した方が良いかも。Fields」が細かく設定しやすくてオススメです。下のように各項目を設定することで、各記事でカスタムフィールドの設定が可能となります。設定すると、各記事の入力エリア下に以下のようなカスタムフィールド入力項目が表示されます。各記事の表示させたい順番ごとに数値を割り当てましょう。上で設定した「フィールド名」がカスタムフィールド名になるので、この値を元に並び替え用の処理を記述することで、自由に表示順序を制御できるようになります。『カテゴリー一覧』のページのみ、カスタムフィールド「順序」の値順で表示させたい場合は、以下のように記述します。);meta_keyが、順序の対象となる値。Fieldsの設定で言えば「フィールド名」になります。order_byは、何を基準に並び変えるか。orderで、昇順(ASC)か降順(DESC)かを指定します。order_byのmeta_value_numは、「値を数値と扱って順序変更する」という意味です。ここをmeta_valueにしてしまうと、「値を文字列と扱って順序変更する」という意味になってしまい、挙動が変わってしまうのでご注意を。(例えば各記事に「1,2,3,・・,9,10,11」と設定した時、meta_valueだと「1、10,11,2,3,・・,9」の順に表示されてしまいます)まとめ記事の表示順を自由に設定する方法について、2つご紹介しました。その2の方が何かと応用も効きますが、「後からカリキュラムの途中に記事を差し込みたい」といった場合はやや面倒です。(差し込んだ記事以降のカスタムフィールド値を変更しなくちゃいけないので)状況に応じて、色々使い分けてみてください。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト上に表示された文字を入力してください。