Is is possible to override the set # of blog posts to show per page (as defined under Reading Settings in the WordPress admin)? I want to make it so a custom loop that I am using will show an unlimited number.
Leave a Reply
You must be logged in to post a comment.
The argument that controls how many posts are shown in the query is posts_per_page
Also to note is that there is a bug in the 3.0 branch which prevents the -1 integer from displaying all posts. It is fixed in 3.1 but a workaround would be to use a very high number instead of -1
see:
http://core.trac.wordpress.org/ticket/15150
Sure, change the query by adding
<?php query_posts('post_type=post&numberposts=-1'); ?>
Eileen is right but it’s better to use arguments as an array
<?php query_posts( array( 'post_type' => 'post', 'numberposts' => -1 ) ); ?>
I had the same issue.. I decided to add a custom variable and then catch that variable during
pre_get_posts
to set thepost_per_page
query_var:Then I went even further and make it get the exact amount you want to display in the custom query var:
Worked for me..
If you’re using a custom loop, just specify
posts_per_page
, e.g.:You could set
posts_per_page
to-1
for unlimited posts, but this is very bad practice. Instead set however many posts you think your server can serve without falling over so that your site doesn’t go down if too many posts are created, 200 is a good upper limit.Otherwise, use the
pre_get_posts
filter to modify the parameters passed to queries:Note that this will set all queries to 100 pages, including feeds, REST API, XMLRPC, etc
In addition, some people will recommend
query_posts
, but this is bad practice and will cause lots of other issues