5

I currently have a page called "Blog" (slug "blog"), which loads a index.php. All posts in index.php belong to only one post category. A sidebar on index.php contains category links (via wp_list_categories) which load archive.php for that given taxonomy.

The problem I am running into is that I currently have the category base name set to the same slug as the page: "blog". I am aware that this can cause issues with the rewrite rules, but for the most part everything looks fine. The only issue is with pagination pages for index.php (mysite.com/blog/page/2 does not work while mysite.com/blog/foo-category/page/2 works fine).

Is there a rewrite rule that can help with my current situation? And if so some help would be appreciated.

If this is a bad idea, please speak up as well. I was hoping to achieve a somewhat RESTful url structure, but wordpresses permalink structure doesn't appear to be the most flexible.

Thanks

1 Answer 1

4

This is untested, but should work for you. Visit the permalinks settings page to flush rewrite rules after adding:

function wpa_fix_blog_pagination(){
    add_rewrite_rule(
        'blog/page/([0-9]+)/?$',
        'index.php?pagename=blog&paged=$matches[1]',
        'top'
    );
}
add_action( 'init', 'wpa_fix_blog_pagination' );
2
  • Thanks Milo, that worked perfectly. Since you seem to know a thing or two about rewrite rules, do you see anything wrong/dangerous about using this permalink structure down the road?
    – Paul T
    Commented Sep 18, 2013 at 15:15
  • Can this be used with i18n for "blog" since I'm translating my custom taxonomy slug (via WPML otherwise)?
    – trainoasis
    Commented Oct 29, 2019 at 11:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.