Доброго времени суток.
Возникла проблема с работоспособностью пагинации на архивной странице.
Пытаюсь сделать такую структуру:
site.ru/karkasnye/taxonomy/ - таксономию karkasnyi через rewrite перезаписал в karkasnye
site.ru/proekty_domov/karkasnye/dom/ - через rewrite добавил путь proekty_domov/
Пагинация по ссылке - site.ru/proekty_domov/karkasnye/ - работает
Пагинация по ссылке - site.ru/karkasnye/ - выводится, но не работает
В идеале конечно сделать структуру:
site.ru/proekty_domov/karkasnye/dom/ - для домов
site.ru/proekty_domov/karkasnye/taxonomy/ - для домов
Кучу информации перерыл, много способов перепробовал, и насколько я понял, что так сделать не получится. Я ошибаюсь?
Регистрация поста и таксономии:
register_taxonomy('karkasnyi', array('karkasnye'), array(
'label' => 'Каркасные дома',
'labels' => array(
'name' => 'Каркасные дома',
'singular_name' => 'Каркасные дома',
'search_items' => 'Искать Каркасный дом',
'all_items' => 'Все Каркасные дома',
'parent_item' => 'Родит. раздел Каркасных домов',
'parent_item_colon' => 'Родит. раздел Каркасных домов:',
'edit_item' => 'Ред. Раздел Группы Каркасных домов',
'update_item' => 'Обновить категорию Каркасные дома',
'add_new_item' => 'Добавить категорию Каркасные дома',
'new_item_name' => 'Новый Раздел Каркасных домов',
'menu_name' => 'Категории Каркасных домов',
),
'description' => 'Рубрика Каркасных домов',
'public' => true,
'show_in_nav_menus' => false,
'show_ui' => true,
'show_tagcloud' => false,
'hierarchical' => false,
'show_admin_column' => true,
'rewrite' => array( 'slug' => 'karkasnye', 'with_front' => false ),
) );
register_post_type('karkasnye', [
'labels' => array(
'name' => 'Каркасные дома',
'singular_name' => 'Каркасный дом',
'add_new' => 'Добавить Каркасный дом',
'add_new_item' => 'Добавление Каркасного дома',
'edit_item' => 'Редактирование Каркасного дома',
'new_item' => 'Новый Каркасный дом',
'view_item' => 'Смотреть Каркасный дом',
'search_items' => 'Искать Каркасный дом',
'not_found' => 'Не найдено',
'not_found_in_trash' => 'Не найдено в корзине',
'parent_item_colon' => '',
'menu_name' => 'Каркасные дома',
),
'public' => true,
'menu_position' => 82,
'menu_icon' => 'dashicons-star-filled',
'hierarchical' => true,
'supports' => array('title', 'editor', 'thumbnail'),
'has_archive' => true,
//'taxonomies' => array( 'proekty_domov/karkasnyi'),
'rewrite' => array( 'slug' => 'proekty_domov/karkasnye', 'with_front' => false ),
]);
Вывод на архивной странице:
$args = array(
'post_type' => 'karkasnye',
'posts_per_page' => 1,
'paged' => ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1,
);
$query = new WP_Query( $args );
<?php if($query->have_posts()) : ?>
<?php while($query->have_posts()) : $query->the_post(); ?>
...
<?php endwhile; ?>
<?php endif; ?>
<?php
$args = array(
'base' => str_replace( 999999999, '%#%', esc_url( get_pagenum_link( 999999999 ) ) ),
'total' => $query->max_num_pages,
'current' => max( 1, get_query_var( 'paged' ) ),
'format' => '?paged=%#%',
'show_all' => false,
'prev_next' => true,
'mid_size' => 4,
'end_size' => 1,
'add_args' => false,
'add_fragment' => '',
'screen_reader_text' => __( '' ),
);
echo paginate_links($args); wp_reset_query();?>