• I have the following function for generating pagination links:

    function theme_pagination() {
    	global $wp_query, $wp_rewrite;
    	$wp_query -> query_vars['paged'] > 1 ? $current = $wp_query -> query_vars['paged'] : $current = 1;
    
    	$pagination = array(
    		'base' => @add_query_arg( 'page', '%#%' ),
    		'format' => '',
    		'total' => $wp_query -> max_num_pages,
    		'current' => $current,
    		'show_all' => false,
    		'type' => 'list',
    	);
    
    	if ( $wp_rewrite -> using_permalinks() )
    		$pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );
    
    	if ( !empty( $wp_query -> query_vars['s'] ) )
    		$pagination['add_args'] = array( 's' => get_query_var( 's' ) );
    
    	echo '<div class="pagination clearfix">';
    	echo paginate_links( $pagination );
    	echo '</div>' . "\n";
    }

    It used to work as expected, however it has just stopped. What happens after clicking on a link is that the homepage (page 1) is reloaded and url is just of homepage.

    I cannot relate this bug to any update or install.

    Any help or guidance is much appreciated.

Viewing 3 replies - 1 through 3 (of 3 total)
  • Thread Starter Flovinskas33

    (@flovinskas33)

    After more investigation, I can see that every page equal or higher than 20 loads appropriately, however every page between 1 and 19 just doesnt load and redirect to the homepage.

    Thread Starter Flovinskas33

    (@flovinskas33)

    Other relevant info:

    There is not pre_get_posts filter used in functions.php.

    Permalink structure is set to post name.

    Wordpres version: 4.4.2

    Hello,
    sorry for my poor english, i’m french.

    I had this problem with the same code after excluding a category from the loop : query_posts('cat=-2');

    I found a solution here : https://wordpress.org/support/topic/excluding-category-from-the-loop-prevents-paged-index

    Then i changed my query by :

    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    query_posts("cat=-2&paged=$paged");

    and it works fine.
    Hope it helps you.

Viewing 3 replies - 1 through 3 (of 3 total)

The topic ‘Pagination does not work’ is closed to new replies.