У меня похожая проблема с этим (https://wordpress.stackexchange.com/questions/9593/custom-post-type-archive-with-pagination) и я не могу понять, что делать!
У меня есть пользовательское имя типа «галерея», и я создал шаблон для отображения всех элементов «галереи». URL-адрес www.domain.com/gallery. Я использую плагин WP_Pagenavi. Всякий раз, когда я пытаюсь перейти на страницу 2 или выше, URL становится www.domain.com/gallery/page/2 и возвращает страницу 404. Я везде читал об этом, и я думаю, это как-то связано с правилами переписывания, запросом и чем-то еще!
Я попытался добавить
add_rewrite_rule( 'gallery/page/([0-9]+)/?$', 'index.php?pagename=gallery&paged=$matches[1]', 'top' );
Дело в том, что я не хочу менять структуру постоянных ссылок, которая теперь называется /%postname%/.
.
Вот мой полный код
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'gallery',
'paged' => $paged,
'showposts' =>24
); query_posts($args);
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
...stuff here...
<?php endwhile; endif; ?>
<?php
wp_pagenavi( );
?>
и вот мой код functions.php для галереи
add_action('init', gallery);
function gallery() {
$args = array(
'label' => __('Gallery'),
'singular_label' => __(Gallery),
'public' => true,
'show_ui' => true,
'capability_type' => 'post',
'hierarchical' => false,
'rewrite' => true,
'supports' => array('title', 'editor', 'thumbnail', 'custom-fields')
);
register_post_type( 'gallery' , $args );
add_rewrite_rule( 'gallery/page/([0-9]+)/?$', 'index.php?pagename=gallery&paged=$matches[1]', 'top' );
}
Я дергаю себя за это (grrrrr).
Заранее спасибо!