Today I had a real problem with a WordPress website that uses multiple wp_query calls on the home page. The issue was that I could not use the next_posts_link() function properly, since WordPress ignores the “offset” parameter when creating paginated pages.
The solution I used was found here on the WordPress Codex.
Here is the code:
1) ? ($onum) : 0;
query_posts("posts_per_page=$qry[total]&paged=$paged&showposts=$qry[1]&offset=$offset");
if (have_posts()) :
while (have_posts()) : the_post();
// Loop stuff
endwhile;
endif;
// Reuse the offset variable (rather then creating a new one), setting to a new value (plus any additional offset)
// Total in first query, plus any offset, if there is one
$offset = $qry[1] + (($paged > 1) ? $onum : 0);
query_posts("posts_per_page=$qry[total]&offset=$offset&showposts=$qry[2]");
if (have_posts()) :
while (have_posts()) : the_post();
// Loop stuff
endwhile;
endif;
// Again just reusing the variable and adding offset (if page is more then 1)
// First posts total, plus second posts total, plus offset (if there is one)..
$offset = ($qry[1] + $qry[2]) + (($paged > 1) ? $onum : 0);
query_posts("posts_per_page=$qry[total]&offset=$offset&showposts=$qry[3]");
if (have_posts()) :
while (have_posts()) : the_post();
// Loop stuff
endwhile;
endif;
// Unset the variables (we've finished with them, no reason to hold onto them)
unset($qry,$offset,$onum);
?>
Can you think of an easier way to do this?
2 Comments
More posts from themightymo.com
How to Connect a GoDaddy Site to ManageWP
GoDaddy owns ManageWP, and, strangely, they make it very difficult to add GoDaddy-managed WordPress sites to their ManageWP service. Thankfully, there’s a quick workaround: Visit https://yoursite.com/wp-admin/plugins.php?showWorker=1 — This will make the ManageWP “Worker” plugin visible. Copy the connection info from the ManageWP Worker plugin. Add the site per-normal on ManageWP. That’s it! I hope this…
How to check if your current page is the wp-login.php page
I realized this morning that my TMM Maintenance Mode WordPress plugin had a bug that was causing the wp-login.php page to be inaccessible. The solution was to write a simple function that checks whether or not we’re currently on a login page, and then add a call to that function in my code. Here’s the…
WooCommerce Product Image Gallery Not Loading with WP Rocket Active
Today I updated a WooCommerce site, and everything worked fine, except for the images on product pages – they were not displaying at all. After a lot of trial & error, I realized that WP Rocket was to blame. I’m not sure exactly what the issue was (though my hunch is that it had to…
Hi,
Thank you for this issue. It’s work fine for me on index.php but not for the archives pages: tags, search, category…
Do you have a solution?
Many thanks in advance,
Dem.
I can’t think of any reason why it wouldn’t work on categories… Please let me know if you figure this out!