根据@StephenHarris的建议,我进一步开发了代码,并得出以下结论:
add_action(\'generate_rewrite_rules\', \'my_rewrite_rules\');
function my_rewrite_rules( $wp_rewrite ) {
// handles paged/pagination requests
$new_rules = array(\'news/(.+)/year/(.+)/page/?([2-9][0-9]*)\' => \'?category_name=\'.$wp_rewrite->preg_index(1).\'&year=\'.$wp_rewrite->preg_index(2).\'&paged=\'.$wp_rewrite->preg_index(3));
// handles standard requests
$new_rules1 = array(\'news/(.+)/year/(.+)\' => \'?category_name=\'.$wp_rewrite->preg_index(1).\'&year=\'.$wp_rewrite->preg_index(2));
// Add the new rewrite rule into the top of the global rules array
$wp_rewrite->rules = $new_rules + $new_rules1 + $wp_rewrite->rules;
}
这允许站点支持如下URL:
/新闻/我的类别/年份/2011/第页/2
以及
/新闻/我的类别/年份/2011
我的网站的帖子/博客部分以“news”作为前缀,因此您可能希望调整正则表达式的第一部分并删除“news”一词。
如果要使用它,请确保通过访问永久链接设置页面刷新重写规则。