※自分に向けての忘備録です。
参考にしたサイト(コード引用元)
本家のフォーラムには神様がいらっしゃる・・・
設置したもの
functions.phpに以下記述
//投稿日の期間指定
global $my_where;
function my_posts_where( $where ) {
global $my_where;
return $where . $my_where;
}
function my_query_posts( $query ) {
global $wpdb, $my_where;
$q = wp_parse_args( $query );
$my_where = '';
if ( $q['date_from'] ) {
if ( $q['date_to'] )
$my_where = " AND ( DATE($wpdb->posts.post_date) BETWEEN '" . $q['date_from'] . "' AND '" . $q['date_to'] . "' )";
else
$my_where = " AND DATE($wpdb->posts.post_date) >= '" . $q['date_from'] . "'";
} elseif ( $q['date_to'] ) {
$my_where = " AND DATE($wpdb->posts.post_date) <= '" . $q['date_to'] . "'";
}
add_filter( 'posts_where', 'my_posts_where' );
query_posts( $query );
remove_filter( 'posts_where', 'my_posts_where' );
}
テンプレートに以下記述(query_postsをmy_query_postsにする)
my_query_posts( 'date_from=2015-04-01&date_to=2016-03-31')
「&」で繋いでいつものやつも書ける!
my_query_posts( 'date_from=2015-04-01&date_to=2016-03-31&&posts_per_page=10&post_type=post')
これで2015年4月1日から2016年3月31日までに投稿された記事を抽出できます。
コメントを残す