如果没有与查询匹配的帖子,我想更改WP_query参数。 具体来说,我想更改monthnum值,如果没有显示当前月份的帖子,我想再次使用新的monthnum值运行查询。
$query = new WP_Query (array('category_name'=> $cat,'year' => $ano, 'monthnum' => $monthnum, 'posts_per_page' => $posts_per_page, 'post__not_in' => array($id)));
if ($query->have_posts()) : ?>
while ($query->have_posts()) : $query->the_post();
//do something
endwhile;
else:
$monthnum = $monthnum - 1;
if($monthnum == 0){
$monthnum = 12;
}
/*
here I want to run the query again with the new $monthnum value
*/
endif;
wp_reset_query();
你知道解决方案吗?请帮帮我!感谢。
答案 0 :(得分:2)
也许您可以将参数更改为旧WP_Query
- 我不知道。但是为每个查询创建一个新的WP_Query
很容易:只需将参数数组保存在变量中,而不是直接将其传递给WP_Query
,您可以根据需要随时修改它。缩写代码:
$params = array('category_name'=> $cat, 'year'=> $ano, 'monthnum'=> $monthnum,
'posts_per_page'=> $posts_per_page, 'post__not_in'=> array($id));
$query = new WP_Query($params);
while (! $query->have_posts()) {
$params['monthnum'] -= 1;
if ($params['monthnum'] == 0) {
$params['year'] -= 1;
$params['monthnum'] = 12;
}
$query = new WP_Query($params);
}