© 2023 MNET LLC. All Rights Reserved.

【Part3】記事取得のカスタマイズが捗る。WP_Queryの使い方。並び順の指定、1ページあたりのデータの取得数・ページ送りの指定

山下 生真

さてさて、使えるようになると開発が捗りまくるWP_Query。
今回はWP_Queryの使い方第3弾「並び順の指定」と「1ページあたりのデータの取得数・ページ送りの指定」についてご紹介します。

その前に基本的なWP_Queryループの使用方法のコードについておさらいしておきましょう。

<?php
 $args = array(
  'post_type' => 'post', //投稿タイプの指定
  'posts_per_page' => '-1' //表示件数を指定。-1は全件表示
  'order' => 'DESC' //昇順・降順の表示順を指定
 );
 
 $the_query = new WP_Query($args);
 if($the_query->have_posts()): while($the_query->have_posts): $the_query->the_post();
?>

ループの中身の記述

<?php endwhile; endif; wp_reset_postdata(); ?>

過去の記事
⇓⇓⇓

https://mnet-company.co.jp/%e8%a8%98%e4%ba%8b%e5%8f%96%e5%be%97%e3%81%ae%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%9e%e3%82%a4%e3%82%ba%e3%81%8c%e6%8d%97%e3%82%8b%e3%80%82wp_query%e3%81%ae%e4%bd%bf%e3%81%84%e6%96%b9%e3%80%82%e5%9f%ba/
https://mnet-company.co.jp/%e3%80%90part2%e3%80%91%e8%a8%98%e4%ba%8b%e5%8f%96%e5%be%97%e3%81%ae%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%9e%e3%82%a4%e3%82%ba%e3%81%8c%e6%8d%97%e3%82%8b%e3%80%82wp_query%e3%81%ae%e4%bd%bf%e3%81%84/

並び順の指定

WP_Queryで取得した記事の並び順を指定できます。(デフォルト値は’DESC’)

‘order’:ASCかDESCで指定
昇順:1→2→3やa→b→cなど
降順:3→2→1やc→b→aなど

<?php
 $args = array(
  'order' => 'ASC',            //昇順指定
  'order' => 'DESC',           //降順指定
 );
?>

‘orderby’(文字列or配列で指定)

<?php
 $args = array(
    'orderby'  => 'none',          //順序をつけない
    'orderby'  => 'ID',            //投稿IDで並び替え
    'orderby'  => 'author',        //著者で並び替え
    'orderby'  => 'title',         //タイトルで並び替え
    'orderby'  => 'date',          //日付で並び替え
    'orderby'  => 'midified',      //更新日で並び替え
    'orderby'  => 'parent',        //投稿/固定ページの親ID順で並び替え
    'orderby'  => 'rand',          //ランダムで並び替え
    'orderby'  => 'comment_count', //コメント数で並び替え
    'orderby'  => 'menu_order',    //管理画面上の表示順で並び替え
    'orderby'  => 'meta_value',    //カスタムフィールドの値で並び替え。ソートは文字列順
    'orderby'  => 'meta_value_num' //カスタムフィールドを数値順で並び変え
 );
?>

1ページあたりのデータの取得数・ページ送りの指定

1ページあたりのデータの取得数・ページ送りの指定ができます

<?php
  $paged = get_qauery_var('paged') : 1; //先頭のページに強制的に1をセット。これがなければページャーがうまく動かない

 $args = array(
  'posts_per_page'      => -1,      //取得する投稿数の指定。-1は全取得
  'paged'               => $pagad,  //現在のページ番号の指定
  'offset'              => 3,       //読み飛ばす記事数の指定。pagedプロパティは無視されます
  'nopaging'            => false,   //ページ送りを使用しないかどうか
  'ignore_sticky_posts' => false,   //先頭固定表示を無視するか
 );
?>

ワードプレス学習にお勧めの書籍

ビジネスサイトを作って学ぶ WordPressの教科書 Ver.5.x対応版

こちらの書籍はデモサイトを作りながらワードプレスで最低限使うであろう技術が詰まった一冊です。この本を何度か学習することによりワードプレスの基本的な考え方から少し応用に踏み込んだところまでの技術が身に着きます。

WordPressデザインレシピ集

こちらの書籍はデモサイトを制作して動きを把握するというより、辞書的な立ち位置の本なのかな?と思います。リファレンスが読みにくいときに各メソッドやクラスの内容を簡潔に使用例も交えて紹介してくれているので「あれ?あの処理はどうするんだっけ?」というようなときに辞書として重宝しております。

山下 生真

役員

建築家を志し京都の大学を卒業。様々な業種を経て、IT業界に心惹かれ、一心発起し、プログラミングスクールに業務の傍ら通う。趣味のYouTubeの動画編集・撮影活動で現CEOと出会う。幼少期からの夢であった”魔法使いになってみんなの役に立つ”実現の為、IT技術を駆使し、世の中の役に立つことを目標に起業。座右の銘は”野心・向上心”。

HOT TOPICS
人気の記事

全て見る