web関連

【wordpress】公開してから1ヶ月以内の記事のみを表示

【wordpress】公開してから1ヶ月以内の記事のみを表示

記事公開日が現在より1ヶ月以内であれば表示する方法を調べた時の備忘録

「date_query」を使って公開1ヶ月以内の記事を表示

<?php 
	$args = array(
		'posts_per_page' => -1,
		'post_type' => 'post',
		'date_query' => array(
			array(
				'inclusive' => true,
				'after' => date( 'Y/m/d 0:0:0', strtotime( '-1 month' ) ) // 1ヶ月前
			),
		),
	);
	$the_query = new WP_Query($args);
	if ( $the_query->have_posts() ) :
	while ( $the_query->have_posts() ) : $the_query->the_post();
?>
<!-- ここに出力コード -->
<?php endwhile; ?>
<?php else: ?>
<?php endif; ?>

inclusiveafterで指定した日を含めるか
after…指定した日時より「後」の記事を出力する

date_queryのところ以外は普通のサブループ

細かく日時を指定したい場合は

$args = array(
	'posts_per_page' => -1,
	'post_type' => 'post',
	'date_query' => array(
		array(
			'inclusive' => true,
			'after' => array(
				'year' => 2019,
				'month' => 8,
				'day' => 18,
			),
		),
	),
);

っていう風に指定すれば2019年8月18日より「後」の記事のみを取得できる

beforeのパラメーターも使えば「after ~ before(期間)」のみの記事を出力できる

参考

仕事で特定の期間の記事のみを出力する案件あまりなかったから知らなかった、便利

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。

CAPTCHA