Support » Fixing WordPress » Query posts and pagination problem

  • Sin WordPress 3.X I can’t figure out how to get pagination working with query_posts. With older versions I usually used querys_posts and everything works fine. But now, my code doesn’t works. I read a lot of possible solutions but no one works for me.

    I place my code in archive.php and looks like this:

    $cat = get_query_var('cat');
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    'category__in'=> array($cat),
    'post__not_in' => $sticky,
    'posts_per_page' => 4
    query_posts($args); ?>
    <?php // The Loop ?>
    <?php if (have_posts()) : ?>
    <?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?>
    <?php while (have_posts()) : the_post(); ?>
    // my stuff
    <?php endwhile; endif; ?>

    According to WordPress 3.0.2 note
    Pagination Note: You should set get_query_var( ‘page’ ); if you want your query to work with pagination. Since WordPress 3.0.2, you do get_query_var( ‘page’ ) instead of get_query_var( ‘paged’ ). The pagination parameter ‘paged’ for WP_Query() remains the same. .
    So, I replace this:
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    for this:
    $paged = (get_query_var('page')) ? get_query_var('page') : 1;
    I also tried with this:
    $paged = (get_query_var('paged'));
    Nothing works (it doesn’t show pagination links in fact).

    I tried using a new WP_Query like this:

    	$query = new WP_Query('category__in='.get_query_var('cat').'&posts_per_page=1&paged=' . get_query_var('page') );

    Not working.

    The only way to get pagination working is setting amount of posts to show from admin panel. But that’s not what I want because I need to specify different amount of posts based on categories.

    Anyone can help me?

    Thanks in advance.

    ps: sorry for my bad english

  • The topic ‘Query posts and pagination problem’ is closed to new replies.