我正在尝试使用pre_get_posts挂钩更改年度存档结果,以便它显示我在学年的帖子。我正在使用Wordpress版本3.9.2。
function get_posts_by_academic_year($query) {
if ($query->is_main_query() && $query->is_year()) {
$query->set('date_query', array(
array(
'after' => array(
'year' => $year
, 'month' => 9
, 'day' => 1
),
'before' => array(
'year' => $year+1
, 'month' => 8
, 'day' => 31
),
'inclusive' => true
),
)
);
}
}
add_action('pre_get_posts', 'get_posts_by_academic_year');
我得到的只是一个404页面,没有任何错误可以帮我调试。当谈到Wordpress时,你不得不原谅我的无知,我不经常使用它。关于我做错了什么或者是否有更好的方法来做这个的任何想法?
答案 0 :(得分:0)
您可以尝试以下
if (!is_admin() && $query->is_main_query() && $query->is_year() && $query->is_archive()) {
答案 1 :(得分:0)
原因是你的$ year变量是空的......
从传递给函数的$ query变量填充它...
$ year = get_query_var('year');
由于某些原因,当查询返回零结果时,我得到404页面错误...而不是查询出现问题。