【ワードプレス】問い合わせフォームから届く、ひたすら迷惑なスパムメールを防ぐ為には?
さてさて、使えるようになると開発が捗りまくるWP_Query。
今回はWP_Queryの使い方第4弾「日付の指定」と「投稿ステータスの指定」についてご紹介します。
その前に基本的な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(); ?>
日付の指定
ある期間に関連付けられた投稿を表示します。よく指定するのは日付など。
<?php
$args = array(
'yaer' => 2021, //4桁の年数で指定(整数)
'mouthnum' => 4, //1~12の月を指定(整数)
'w' => 6, //0~53の週番号を指定(整数)
'day' => 4, //1~31の日付を指定(整数)
'hour' => 14, //0~23の時間を指定(整数)
'minute' => 24, //0~60の分数を指定(整数)
'second' => 20, //0~60の秒数を指定(整数)
'm' => 202105 //年と月を指定(整数)
);
?>
投稿ステータスの指定
ある投稿ステータスに関連づいた投稿データを取得します。
<?php
$args = array(
'post_status' => 'publish' //公開されている投稿もしくは固定ページを取得
'post_status' => 'pending' //レビュー町の投稿を取得
'post_status' => 'draft' //下書きの投稿を取得
'post_status' => 'auto-draft' //コンテンツのない、新規作成された投稿を取得
'post_status' => 'future' //予約公開設定された投稿を取得
'post_status' => 'private' //ログインしていないユーザーから見えない設定
'post_status' => 'trash' //ゴミ箱に入った投稿を取得
);
?>
ワードプレス学習にお勧めの書籍
ビジネスサイトを作って学ぶ WordPressの教科書 Ver.5.x対応版
こちらの書籍はデモサイトを作りながらワードプレスで最低限使うであろう技術が詰まった一冊です。この本を何度か学習することによりワードプレスの基本的な考え方から少し応用に踏み込んだところまでの技術が身に着きます。
WordPressデザインレシピ集
こちらの書籍はデモサイトを制作して動きを把握するというより、辞書的な立ち位置の本なのかな?と思います。リファレンスが読みにくいときに各メソッドやクラスの内容を簡潔に使用例も交えて紹介してくれているので「あれ?あの処理はどうするんだっけ?」というようなときに辞書として重宝しております。