我想做的是允许网站显示基于日期的术语存档,但我根本没有运气。
我希望它如何工作:
website.com/taxonomy/term/
有效,而且很棒。
website.com/taxonomy/term/2012
没有...它实际上是 404s。 website.com/taxonomy/term/2012/11
也没有。
我需要一些帮助来创建一些重写规则,这些规则将获取 url 并修改查询以添加year={year}&monthnum={$month}
(或者无论该魔法如何工作),并重定向回taxonomy-taxonomy.php
模板,因为这似乎会中断。
请问,我会尽我所能帮助澄清:)
分类注册(从项目复制):
register_taxonomy ( 'age-limit', array('event'), array(
'hierarchical' => false,
'labels' => array (
'name' => _x( 'Age limit', 'taxonomy general name' ),
'singular_name' => _x( 'Age limit', 'taxonomy singular name' ),
'search_items' => __( 'Search Age limits' ),
'all_items' => __( 'All Age limits' ),
'edit_item' => __( 'Edit Age limit' ),
'update_item' => __( 'Update Age limit' ),
'add_new_item' => __( 'Add New Age limit' ),
'new_item_name' => __( 'New Age limit' ),
'menu_name' => __( 'Age limits' ),
),
'show_ui' => true,
'query_var' => true,
'rewrite' => array('slug' => 'age-limit'),
));
关于重写规则...您可以使用这些代码行(经过测试和工作)。不知道你提到的重定向的事情。
add_filter('rewrite_rules_array', '_rewrite_rules_array');
function _rewrite_rules_array($rewrite_rules) {
$taxonomy = "age-limit";
$taxonomy_slug = "age-limit";
$month_rule = array($taxonomy_slug .'/(.+?)/([0-9]{4})/([0-9]{1,2})/?$' => 'index.php?' . $taxonomy . '=$matches[1]&year=$matches[2]&monthnum=$matches[3]');
$year_rule = array($taxonomy_slug . '/(.+?)/([0-9]{4})/?$' => 'index.php?' . $taxonomy . '=$matches[1]&year=$matches[2]');
$rewrite_rules = $year_rule + $month_rule + $rewrite_rules;
return $rewrite_rules;
}
这个WordPress插件帮助我更好地理解重写规则:重写规则检查器