1
我有一个页面,我正在使用new WP_Query
来显示某个类别的帖子,用户可以按发布年份过滤帖子。这里是我的查询代码:通过WP_Query过滤某些过滤器时出现404错误,但不是其他过滤器
if (isset($_GET['action'])){
$orderby = $_GET['orderby'];
$order = $_GET['order'];
$year = $_GET['year'];
}
$args = array(
'category_name' => 'films',
'orderby' => $orderby,
'order' => $order,
'year' => $year
);
$my_query = new WP_Query($args);
我有一个表格,用户可以选择通过一年来过滤帖子:
<form class='post-filters'>
<select name="orderby">
<option value='date'>Order By Date</option>
<option value='title'>Order By Title</option>
</select>
<select name="order">
<option value='DESC'>Descending</option>
<option value='ASC'>Ascending</option>
</select>
<select name="year">
<option value=''>All</option>
<option value='2016'>2016</option>
<option value='2015'>2015</option>
</select>
<input type='submit' value='Filter!'>
</form>
一切工作正常,除非我尽量选择2016年之前,一个过滤器,我得到一个404错误。当年有帖子,如果我在WP_Query中对2016的值进行硬编码,它就可以工作。
任何想法可能会出错?
刚刚试过这个,404消失了,但年份过滤器仍然不起作用 - 无论过滤器设置为什么,都会显示所有帖子。仍然在这里失踪 –