web-dev-qa-db-fra.com

404 sur la pagination category.php

  • Mon article de blog:mysite.com/blog=> Travail
    • Pagination de la page de blog:mysite.com/blog/page/2=> Work
    • Une catégorie post url:mysite.com/blog/cat=> Work
    • Une url de publication:mysite.com/blog/cat/postname=> Work
    • URL de catégorie après la pagination:mysite.com/blog/cat/page/2=> 404 :-(
    • Structure permanente: /blog/%category%/%postname%/
    • Supprimer la catégorie de base avec Yoast: ok

Catégorie.php:

<?php get_header(); ?>
<?php get_sidebar('page'); ?>
<div class="posts-list">
    <ul class="categs-list">
        <li class="<?php if(is_home()):?>current-cat<?php endif;?>"><a href="<?php echo get_permalink(get_option('page_for_posts')); ?>" title="<?php _e('Voir tous les articles', 'fc'); ?>"><?php _e('Tous', 'fc'); ?></a></li>
        <?php wp_list_categories('title_li='); ?>
    </ul>
    <?php pagination(); ?>
    <?php 
    while ( have_posts() ) : the_post();
        $category = get_the_category();
        get_template_part( 'content-category', $category[0]->slug );
    endwhile;
    ?>
    <?php pagination(); ?>
</div>

<?php get_footer(); ?>

Pagination de fonction ():

function pagination()
{

    if ( function_exists('wp_pagenavi') )
    {
        echo "<nav class='pagination'>";
            wp_pagenavi();
        echo "</nav>";
    }

}

Pourquoi ai-je 404 avec la pagination?

Edit:mysite.com/blog/cat/feedne fonctionne pas non plus

1
Fabien Charrasse

Merci à ceci et ceci j’ai pu adapter la solution à mon problème.

Solution:

add_action( 'init', 'wpa58471_category_base' );
function wpa58471_category_base() {
    add_rewrite_rule(
        'blog/([^/]+)/page/(\d+)/?$',
        'index.php?category_name=$matches[1]&paged=$matches[2]',
        'top' 
    );
    add_rewrite_rule( 
        'blog/([^/]+)/(feed|rdf|rss|rss2|atom)/?$',
        'index.php?category_name=$matches[1]&feed=$matches[2]', 
        'top' 
    );
}
2
Fabien Charrasse