【ワードプレス】問い合わせフォームから届く、ひたすら迷惑なスパムメールを防ぐ為には?
さてさて、使えるようになると開発が捗りまくる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(); ?>
過去の記事
⇓⇓⇓
並び順の指定
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デザインレシピ集
こちらの書籍はデモサイトを制作して動きを把握するというより、辞書的な立ち位置の本なのかな?と思います。リファレンスが読みにくいときに各メソッドやクラスの内容を簡潔に使用例も交えて紹介してくれているので「あれ?あの処理はどうするんだっけ?」というようなときに辞書として重宝しております。