pagination custom post type on CP page
I know that there are a lot of topics on this question and I've read a lot of them and tried different things. But pagination is still not working. I think it has something to do with the permalink settings.
The situation
I have a custom post type called artists which I link to events. On the artist page I show all the events the artist is linked to (they're linked using the posts 2 posts plugin). I'd like to paginate these events. Let's use ACDC as an example artist.
The pagination is showing, and the links point to root/artist/acdc/page/#
where # is the page number.
If I click on page 2 for example I'm not going to root/artists/acdc/page/2
. The page does seem to load, but I end up at the same URL showing the first 3 posts (roots/artists/acdc
). So I don't get a 404.
When I go to root/artists/acdc?page=2
, the URL becomes root/artists/acdc/2/
, but it still displays the 3 posts from page 1. This happens when 'format'
is set to '/page/%#%'
in paginate_links
. If I then hover the pagination link for page 3, the link becomes root/artists/acdc/2/page/3
...
My settings
- Permalink custom structure:
/%category%/%postname%/
- I'm using the roots theme which does apply some rewrites, but I as far as I can see there are not rewrites for the permalinks / page structure
Stuf I've already tried
- Changed 'show maximum of' setting in WP settings from 10 to 1
- Changed
'paged'
to'page'
in$paged
- Going to the URL
root/artists/acdc/page/2
, no luck as described above - Going to the URL
root/artists/acdc?page=2
, no luck and weird behavior as described above - Changed
'format'
inpaginate_links
to'?page=%#%'
My code (which is on the artist custom post type template but will eventually be stored in functions.php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'connected_type' = 'artists_to_events',
'connected_items' = get_queried_object(),
'post_type' = 'events',
'post_status' = 'publish',
'posts_per_page' = 3,
'paged' = $paged,
'meta_key' = 'custom_date',
'orderby'= 'meta_value',
'order' = 'ASC'
);
$query = new WP_Query($args);
$big = 99999999;
echo paginate_links(array(
'base' = str_replace($big, '%#%', get_pagenum_link($big)),
'format' = '/page/%#%',
'total' = $query-max_num_pages,
'current' = max(1, get_query_var('paged')),
'show_all' = false,
'end_size' = 2,
'mid_size' = 3,
'prev_next' = true,
'prev_text' = 'Vorige',
'next_text' = 'Volgende',
'type' = 'list'
));
Because of the weird URL behaviour I don't really know where the problem lies. Any ideas?
Topic paginate-comments-links pagination Wordpress
Category Web