I have a fairly complicated site structure and cannot seem to get the URL structure to work correctly, including pagination. This is mainly to cope with loading articles assigned to a specific custom post type, which may all be nested.
My (cut down) register post types:
register_post_type('continent',
array(
'rewrite' => array('slug' => 'moving-to'),
)
);
register_post_type('country',
array(
'rewrite' => array('slug' => 'moving-to/%continent%'),
)
);
So I have a category moving-to
, a custom post type continent
and a custom post type country
.
/moving-to/
/moving-to/continent
/moving-to/continent/country
These first three display posts from the category, posts assigned to the continent and posts assigned to the country. I cannot get pagination to work with them as I think the /continent/country
is interfering with the /page/n
pagination.
/moving-to/page/2
- Works OK
/moving-to/continent/page/2
- Tries to load unknown country "page"
/moving-to/continent/country/page/2
- Strips page/2 from the URL
I assume I need to exclude any country of "page" from the rewrite, or to just not have a nested continent in the url.
Part two is being able to have a category after each continent or country
/moving-to/continent/category-name
/moving-to/continent/country/category-name
Again with pagination
/moving-to/continent/category-name/page/2
/moving-to/continent/country/category-name/page/2
/moving-to/continent/country
I realise this all sounds a bit specific (borderline off-topic) but it all boils down to how to add rewrite rule(s) to cope with nested post types and still have pagination working.