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 »
  • SHWAN NAMIQ SALEEM

    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

  • Gustavo

    Great! Works perfectly for me. Thanks a lot.

  • Kirk

    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

    • http://www.wpbeginner.com Editorial Staff

      You would have to use posts_per_page in the WP_Query variable and then set count 20.

  • Roy Omwell

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

    • http://www.wpbeginner.com Editorial Staff

      Fixed it.

  • AliMohammedAli

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

  • JonPage11

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

  • http://www.shoptec.ru Carik

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

    • http://www.wpbeginner.com Editorial Staff

      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.

  • http://www.bj2design.com Bjarni

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

    • http://www.wpbeginner.com Editorial Staff

      Visit any of our category pages.