Add helper get_total_objects_for_query_from_db() which counts directly from the DB #2571
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of the Change
We're noticing that on very large sites, the query to count the total objects in
get_total_objects_for_query()
dies. This PR adds an abstracted helper methodget_total_objects_for_query_from_db()
that breaks it down usingwp_count_posts
to count the posts directly from the DB.Alternate Designs
N/A.
Possible Drawbacks
A bit more processing during indexing if the count query has died, but at least the user will have an idea of the number of posts, rather than "0".
Verification Process
On a verrrry large site where it says
0
as the total objects, i.e.Processed x/0
, apply the PR and expect it to return a number.Checklist:
Changelog Entry
Fixed: Add an alternative way to count total posts on larger DBs during indexing
Credits
Props @rebeccahum