Search code examples
phpwordpressloopslimit

Wordpress posts_per_page not working


So, I tried all the "add_filter" things on the whole web to get this right but it doesn't work! It always shows me more than 1 post. What's wrong with my code? Latest WP-Version 4.1.1 and no plugins installed.

Here is the code:

<?php

    $sticky = get_option('sticky_posts');

    if ( !empty($sticky) ) {

    $args = array(
        'post__in' => $sticky,
        'orderby' => 'date',
        'order' => 'ASC',
        'posts_per_page' => 1
    );

    $slider_query = new WP_Query( $args );

    while ( $slider_query->have_posts() ) {             
        $slider_query->the_post();
    ?>

    <div>
       <!-- here we go -->
    </div>

<?php

        }
    }

?>

Solution

  • Okay, I got it. This parameter is missing. Wordpress ignores "posts_per_page" by default for sticky posts.

    $args = array(
        'post__in' => $sticky,
        'orderby' => 'date',
        'order' => 'ASC',
        'posts_per_page' => 1,
        'ignore_sticky_posts' => 1
    );