Как правильно настроить add_rewtire_rule для пагинации архива терма пользовательской таксономии?
Создано несколько пользовательских таксономий.
С помощью фильтров удалены названия таксономий из URL + Добавлены правила для роутинга.
Пример:
// Удаление slug таксономии function remove_tax_slug_link( $link, $term, $taxonomy ) { if ( $taxonomy !== 'my_tax' ) return $link; return str_replace( 'my_tax/', '', $link ); } add_filter( 'term_link', 'remove_tax_slug_link', 10, 3 ); // Правило для роутинга function custom_tax_rewrite_rule() { $cats = get_terms( 'my_tax', array( 'hide_empty' => false, ) ); if(sizeof($cats)) foreach($cats as $cat) add_rewrite_rule( $cat->slug.'/?$', 'index.php?my_tax='.$cat->slug, 'top' ); } add_action('init', 'custom_tax_rewrite_rule', 10, 0);
Все отлично, но не работает пагинация архива таксономии, вылетает ошибка 404.
Нашел вот такое решение проблемы:
add_rewrite_rule('([^/]+)/?$', 'index.php?my_tax=$matches[1]', 'top'); add_rewrite_rule( '(.+?)/page/?([0-9]{1,})/?$','index.php?my_tax=$matches[1]&paged=$matches[2]', 'top' );
Но в этом варианте пагинация работает тока в указанной пользавательской таксономии, а пагинация в рубриках и стандартных тегах не работает.
Как правильно настроить правило руотинга, не затронув стандартные рубрики и теги?