paginate_links and query vars

Seems that the query string is coming from the base argument call to get_pagenum_link() so I have removed the query string component and re-add it with ‘add_args’. Like so: <?php echo paginate_links(array( ‘base’ => preg_replace(‘/\?.*/’, “https://wordpress.stackexchange.com/”, get_pagenum_link(1)) . ‘%_%’, ‘current’ => max(1, get_query_var(‘paged’)), ‘format’ => ‘page/%#%’, ‘total’ => $wp_query->max_num_pages, ‘add_args’ => array( ‘s’ => get_query_var(‘s’), … Read more

How to paginate attachments in a secondary query as gallery?

I’m assuming you want something like this: |———————| | content | | (static) | |———————| | gallery | | (paged) | |———————| | << pagelinks >> | |———————| In this setup your the post content stays the same, appears to be static, while the gallery is paged. This means you have the main query, showing … Read more

Strange paginate_links behavior. First page link is always whatever page I’m on, all other links are correct

Short answer: Try ‘base’ => str_replace( $big, ‘%#%’, esc_url( get_pagenum_link( $big ) ) ), ‘format’ => ‘?paged=%#%’, Long answer: I took a look at the paginate_links() source code (v3.5.1) and there is this line (#) $link = str_replace(‘%_%’, 1 == $n ? ” : $format, $base); that is giving you the empty first page link. … Read more

WordPress Pagination Problem

When creating custom lists of posts pagination won’t happen automatically, you’ll need to pass the pagination arguments into your get_posts call. The full details can be found on the WP_Query codex page. For the query you want to be paged you’ll need to add something like ‘paged’ => (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1; to your … Read more

Getting paginate_links() ‘end_size’ to display none

Here’s one suggestion: First we need to let paginate_links() return an array instead of a HTML list: ‘type’ => ‘array’, Then we can grab the output with: $paginate_links = paginate_links( $paginationArgs ); The plan is then to filter out the wanted links. Let’s get the current value: $c = $paginationArgs[‘current’]; We construct the search filter … Read more

paginate_links() don’t properly work in search.php?

I’m fairly certain this is answered elsewhere, but I’ll add it here again. I believe your issue lies here: ‘current’ => max( 1, get_query_var(‘paged’) ), Try this instead: global $wp_query; $wp_query->query_vars[‘paged’] > 1 ? $current = $wp_query->query_vars[‘paged’] : $current = 1; …then: ‘current’ => $current; Your ‘base’ may also be an issue. Instead of this: … Read more

Paginate Link generate additional #038; whenever my Url have multiple Query String

There’s no need to escape the URL twice – get_pagenum_link() by default returns an escaped URL — when the second parameter is true, esc_url() is used; else, esc_url_raw() is used: With esc_url(): http://localhost/wordpress/blog/?filter=23&#038;orderby=oldest With esc_url_raw(): http://localhost/wordpress/blog/?filter=23&orderby=oldest And the problem occurs when the base contains ?, or a query string, and that the URL is escaped … Read more

How to remove_query_arg() for paginate_links()

Not sure if you mean this kind of approach: add_filter( ‘paginate_links’, function( $link ) { return filter_input( INPUT_GET, ‘from_expired’ ) ? remove_query_arg( ‘from_expired’, $link ) : $link; } ); to remove the from_expired from the pagination links if it’s in the current GET query.

Paged posts – how to use numbers and next/previous links?

The function you’re using, wp_link_pages­Codex, does not have the feature you’re looking for by default. However you can easily extend it by using a callback function, registered as a filter on that functions arguments: add_filter(‘wp_link_pages_args’, ‘wp_link_pages_args_prevnext_add’); The filter will then modify the parameters that are used in that function on-the-fly and inject the missing links … Read more