Reputation: 300
Hi i would like to display 20 posts ONLY in my frontpage so i created a function to alter the query like this :
if( is_front_page() && $query->is_main_query() ) {
$query->set('post_type', array('communique-presse', 'info-algerie'));
$query->set('posts_per_page', '20');
}
it is working but what i want is to prevent wordpress from calculating the number of pages when generating pagination.
I tried $query->set('paged',1), $query->set('paged',-1) etc... but wordpress is still calculating the number of pages.
I'd like to prevent wordpress from counting the total posts to optimise my site, since i have 50 000 + posts and i think that by disabling total posts counting will optimize the query, so wordpress query only the furst 20 posts without traversing all my 50 000 posts.
Upvotes: 0
Views: 191
Reputation: 2481
You don't need code to say how many posts you want on your frontpage, this is a setting in the admin dashboard, here: /wp-admin/options-reading.php
And WordPress likely won't iterate over all of your posts to count them and will just call the count()
function on the database, so there should be nothing to optimize here.
Upvotes: 1