Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Hey everyone. I'm not sure if what I'm experiencing is a result of a bug (due to the recent upgrade to 3.1.2) or poor coding. Ever since i upgraded to version 3.1.2 ive been experiencing a problem with two loops on my index page.

Here's what I've got for my index page

<?php
    if ( ! is_paged() && is_front_page() ) {

    echo '<h6 class="sec1 title">FEATURE</h6>';
    $sticky = get_option( 'sticky_posts' );

         if ( isset( $sticky[0] ) ) {
            $args = array(
                'posts_per_page' => 3,
                'post__in'  => $sticky,
                'ignore_sticky_posts' => 1);

            $featured_query = new WP_query( $args );
            while ($featured_query->have_posts() ) :
            $featured_query->the_post();

            get_template_part( 'content', 'featured' );

            endwhile;
        } // endif sticky
    } // endif is_paged
    ?>

    <?php
        $sticky = get_option( 'sticky_posts' );
        echo '<h6 class="sec1 title">LATEST ARTICLES</h6>';
        $paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
        $query_args = array(
            'posts_per_page' => 10,
            'paged' => $paged,
            'post__not_in' => $sticky
            );

        query_posts($query_args);
        if (have_posts() ) :
        while (have_posts() ) :
        the_post();

        get_template_part( 'content', get_post_format() );
    ?>

    <!--<?php trackback_rdf(); ?>-->

    <?php endwhile; else: ?>

    <div class="box">
        <p>
            <?php _e( 'Sorry, no posts matched your criteria.' ); ?>
        </p>
    </div>

    <?php endif; ?>

// Navigation comes over here

Say for example the first loop (sticky posts) - which IS NOT paged, yields 3 posts, and the second loop (all other posts) - which IS paged, yields 10 posts. The problem I'm experiencing is that when i move to the next page, the last 3 posts from the second loop on page 1 get repeated at the the top of page 2.


Note: The first loop is only on page 1, and doesn't get repeated on the second page, which is what i intended.

Note 2: I assume that the second loop is considering - in some odd way, the posts from the first loop as one of its own. But it still shows 10 posts on the first page + 3 posts from the first loop.


So in essence its:

PAGE 1:

Loop 1: 3 posts (3 unique posts)

Loop 2: 10 posts (10 unique posts)

PAGE 2:

Loop 1: Doesn't execute - as intended, due to ( ! is_paged() )

Loop 2: 10 posts (7 unique, 3 duplicated from the last 3 (from the second loop) on the first page)

So this is what i tried, i removed the ( ! is_paged() && is_front_page ) condition along with the entire first loop, and the problem got resolved.

What am i doing wrong?

share|improve this question
    
can you revert back to when it was working and try update manually? –  xLRDxREVENGEx May 1 '11 at 6:39

1 Answer 1

up vote 0 down vote accepted

I tried reverting back to the older version 3.0.x, but the problem remained the same.

The answer can be found here:

http://stackoverflow.com/questions/5843214/wordpress-loop-problem-multiple-loops-index-php-and-is-paged-causing-duplicate/5853514#5853514

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.