Beginner's Guide for WordPress - Start your WordPress Blog in minutes.
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
Recommended
WordPress Plugins
View all Guides

How to Display Any Number of Posts in a WordPress Loop

Last updated on by
Elegant Themes
How to Display Any Number of Posts in a WordPress Loop

The Loop is used by WordPress to display each of your posts. Using The Loop, WordPress processes each of the posts to be displayed on the current page and formats them according to how they match specified criteria within The Loop tags. Normally, the number of posts to be displayed is set in your WordPress Admin Panel Settings area under the readings tab. But in this article, we will show you how to override that number by using a Super Loop which will allow you to display any number of posts in that specific WordPress loop. This will allow you to customize the display of your pages including author profiles, sidebars, and more.

Open a template file where you would like to place the posts and then simply add this loop:

// if everything is in place and ready, let's start the loop
 
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

// to display 'n' number of posts, we need to execute the loop 'n' number of times
// so we define a numerical variable called '$count' and set its value to zero
// with each iteration of the loop, the value of '$count' will increase by one
// after the value of '$count' reaches the specified number, the loop will stop
// *USER: change the 'n' to the number of posts that you would like to display

<?php static $count = 0;
if ($count == "n") { break; }
else { ?>

// for CSS styling and layout purposes, we wrap the post content in a div
// we then display the entire post content via the 'the_content()' function
// *USER: change to '<?php the_excerpt(); ?>' to display post excerpts instead

<div class="post">
<?php the_title(); ?>
<?php the_content(); ?>
</div>

// here, we continue with the limiting of the number of displayed posts
// each iteration of the loop increases the value of '$count' by one
// the final two lines complete the loop and close the if statement

<?php $count++; } ?>
<?php endwhile; ?>
<?php endif; ?>

And you are done. This code will be very helpful to you specially when designing the author’s template because you would want to control the number of posts displayed in each loop.

Source: Super Loop for WordPress


Editorial Staff at WPBeginner is a team of WordPress lovers led by Syed Balkhi. Page maintained by Syed Balkhi.

WPBeginner's Video Icon
Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »

Comments

  1. SHWAN NAMIQ SALEEM says:

    Thank you very nice code i used this code in my blog to times , to show limit posts in homepage and in sidebar > the code work correctly without any problem . it is very simple code to use

  2. Gustavo says:

    Great! Works perfectly for me. Thanks a lot.

  3. Kirk says:

    It seems that, although I can alter the number of posts displayed using your method, the “number of posts setting” in the admin panel under Settings > Reading still sets the maximum.
    So, for instance, if I set that number to 20 in my wp-admin panel and then within my template I set $count to equal any number OVER 20, it will still only show 20 posts. I can, however, set $count in my template to equal a number UNDER 20 and it will only show that amount of posts. So, the number in the admin panel seems to be the maximum. Is there a workaround for this? Thanks

  4. Roy Omwell says:

    hi team,
    row #28 is missing “++”. It should be: count++
    otherwise thank you, that was exactly what I was looking.

  5. AliMohammedAli says:

    in line 28 .. you didn’t increment the $count variable !

  6. JonPage11 says:

    Is there any button in the menu…. that make us easiest to edit number of post in wordpress?

  7. Carik says:

    Can not you do it through a function or get_posts query_posts?

    • Editorial Staff says:

      Yes you could do that through the posts_per_page function in query_posts … this method will allow you to customize each post on the display and much more.

  8. Bjarni says:

    Thanks for the info, it would be good if there was a link to the code in action too

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.