こんにちは、福岡のホームページ制作シンス株式会社のちゃんけいです。
WordPressでブログ記事の一覧を表示させるとき、デフォルトでは時系列順に記事が並びますよね。
今回はその記事並び順を自由に指定できるといいのにな、という時に役立つTipsを紹介します。それではどうぞ!
WP_Queryの順序付けパラメータについて
まずは基本となる、WP_Queryの順序づけパラメータについて。
順序に関するパラメータ、「order」と「orderby」の2つがあります。
orderは昇順(ASC)か降順(DESC)を指定でき、orderbyは指定したパラメータで投稿をソートできます。
orderbyをうまく扱えるようになると、投稿の並び順を自由に変えることができるのでぜひリファレンスを見ておきましょう。
post__inで指定した配列の順番に記事を並べる方法
post__inは、取得する投稿のIDを指定するパラメータです。
複数指定する際に、配列で指定することができます。
1 2 3 | $args = array( 'post__in' => array(1,2,3,4,5), ); |
post__inに指定した順番通りに記事を並べたい場合は、orderbyにpost__inを指定します。簡単!
1 2 3 4 | $args = array( 'post__in' => array(1,2,3,4,5), 'orderby' => 'post__in' ); |
まとめ
まさか他のパラメータの指定をそのまま指定できるとは….!!
私が遭遇したのは、1箇所目で記事の表示と共にpost__inに指定する配列を作って、ページ内の別の場所でその配列を使って表示するといった状況でした。
最初うまくいかずリファレンスを開いたところ、orderbyの指定方法を見つけました。
カスタムフィールドの値を元にソートもできるようですので、自由度が高くとても便利ですね!
それではまた!
参考:関数リファレンス/WP Query – WordPress Codex 日本語版
ホームページの新規制作やリニューアルのご依頼はシンス株式会社まで。













