Если у меня есть собственный тип сообщения с именем «my_type», как я могу заставить Wordpress создавать архивы на основе даты, например:
mysite.com/my_type/2010/
mysite.com/my_type/2010/07/
mysite.com/my_type/2010/07/28/
Я ищу советы как по созданию правил перезаписи, так и по связыванию URL-адресов с шаблонами.
Спасибо!
Обновление: я пробовал следующее в своих functions.php (EVENT_TYPE_SLUG — это константа, определенная в другом месте):
function event_rewrite_rules() {
global $wp_rewrite;
$new_rules = array(
EVENT_TYPE_SLUG."/([0-9]{4})/([0-9]{1,2})/$" => 'index.php?post_type=event&year='.$wp_rewrite->preg_index(1).'&monthnum='.$wp_rewrite->preg_index(2),
EVENT_TYPE_SLUG."/([0-9]{4})/$" => 'index.php?post_type=event&year='.$wp_rewrite->preg_index(1),
);
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
add_action('generate_rewrite_rules', 'event_rewrite_rules');
правила перезаписи отображаются в правилах $wp_rewrite->, но когда я перехожу на эти страницы, я получаю ошибку 404. Если я вручную перехожу к mysite.com/index.php?post_type=event&year=2010, меня перенаправляют на mysite.com/2010?post_type=event