【ワードプレス】問い合わせフォームから届く、ひたすら迷惑なスパムメールを防ぐ為には?
さてさて、使えるようになると開発が捗りまくるWP_Query。
今回はWP_Queryの使い方第5弾「日付の指定」と「投稿ステータスの指定」についてご紹介します。
その前に基本的な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(
'cat' => 4, //カテゴリ―のIDを指定(整数)
'category_name' => 'news', //カテゴリ―のスラッグ(カテゴリ名ではありません)を指定(文字列)
'category__and' => array(4, 6), //指定したIDのカテゴリを全て含む投稿を取得(配列)
'category__in' => array(5, 7), //指定したIDのカテゴリのいずれかを含む投稿を取得(配列)
'category__not_in' => array(5, 7) //指定したIDのカテゴリを含まない投稿を取得(配列)
);
?>
タグの指定
あるタグに関連付けられた投稿を表示する。
<?php
$args = array(
'tag_id' => 5, //タグのIDを指定(整数)
'tag' => 'css', //タグの文字列を指定(文字列)
'tag__and' => array( 1, 6 ), //指定したタグのIDの全てを含む投稿を取得(配列)
'tag__in' => array( 1, 6 ), //指定したタグのIDのいずれかを含む投稿を取得(配列)
'tag__not_in' => array( 1, 6 ), //指定したタグのIDを含まない投稿を取得(配列)
'tag_slug__and'=> array( 'html', 'css' ), //指定したタグのスラッグを全て含む投稿を取得(配列)
'tag_slug__in'=> array( 'html', 'css' ) //指定したタグのスラッグを含まない投稿を取得(配列)
);
?>
ワードプレス学習にお勧めの書籍
ビジネスサイトを作って学ぶ WordPressの教科書 Ver.5.x対応版
こちらの書籍はデモサイトを作りながらワードプレスで最低限使うであろう技術が詰まった一冊です。この本を何度か学習することによりワードプレスの基本的な考え方から少し応用に踏み込んだところまでの技術が身に着きます。
WordPressデザインレシピ集
こちらの書籍はデモサイトを制作して動きを把握するというより、辞書的な立ち位置の本なのかな?と思います。リファレンスが読みにくいときに各メソッドやクラスの内容を簡潔に使用例も交えて紹介してくれているので「あれ?あの処理はどうするんだっけ?」というようなときに辞書として重宝しております。