There may not be a need for a custom query, but I’d recommend it rather than hitting the database:
– once for the WP_Query
– once more for each post entry
And then manually working out the math in PHP. Do it all at once with one MySQL statement.
select sum(PM.meta_value) from wp_postmeta PM
join wp_posts P on P.ID = PM.post_id
where P.post_type="page"
and PM.meta_key='test'
With your code above, replace the $r=...
line with this:
$r = $wpdb->get_results( $wpdb->prepare( "
SELECT SUM(pm.meta_value) FROM {$wpdb->postmeta} pm
LEFT JOIN {$wpdb->posts} p ON p.ID = pm.post_id
WHERE pm.meta_key = '%s'
AND p.post_status="%s"
AND p.post_type="%s"
", $key, $status, $type ) );
$r[0]
should be your total. 🙂
Related Posts:
- Lack of composite indexes for meta tables
- Safe to delete blank postmeta?
- How to get all term meta for a taxonomy – getting term_meta for taxonomy
- delete unused postmeta
- Triple meta_key on custom SELECT query
- Job of meta_key meta_value fields in database tables
- order by multiple meta_keys?
- WP_POSTMETA – What do these values mean inside the data structure?
- MySQL Query To Select Post By Postmeta
- How can I convert postmeta from unserialized to serialized?
- why after saving meta value it’s saving all the values the one that i clicked?
- Is it safe to add a new field to meta_value field?
- How to delete duplicate records in wp_postmeta database table?
- How can I use ‘orderby’ => ‘meta_value_num’ to order by the numerical value even if the value starts with a word?
- Display current ranking of post as a number in post title
- I can not display meta value in extras.php and template-tags.php
- Count Post and Page Views based on meta_value Using Shortcode in Dashboard Widget
- Negative meta_query if storing multiple post_meta values with shared meta_key
- if get_post_meta function returns empty – Do Not Display HTML
- How to get the total of two meta values from different meta keys?
- How to save a meta_value as a numeric value after I retrieve it via update_post_meta?
- How to update/add child posts meta whenever the parent post meta is updated?
- why is my postmeta table is so heavy
- Display multiple meta_key/meta_values by single SQL query
- Multiple meta key and value search in the query
- How to sort by meta value num, but ignore zero value?
- How do i get value from wp_postmeta?
- Using mysql queries to delete custom post types based on meta_value
- Export posts with postmeta without ID?
- Update post meta array – add new, single value
- How do I retrieve the slug of the current page?
- Most efficient way to get posts with postmeta
- How to only display posts whose meta_value field is not empty?
- Get posts by meta value
- Explanation of update_post_(meta/term)_cache
- How to extract data from a post meta serialized array?
- How to save an array with one metakey in postmeta?
- WordPress is stripping escape backslashes from JSON strings in post_meta
- How can I get the post ID from a WP_Query loop?
- Why are simple updates to wp_postmeta’s “_edit_lock” so slow?
- Check if Post Title exists, Insert post if doesn’t, Add Incremental # to Meta if does
- Use REGEXP in WP_Query meta_query key
- How to update_post_meta value as array
- Adding meta tag without plugin
- What’s the point of get_post_meta’s $single param?
- What is the different between an attachment in wp_posts and an attachment in wp_postmeta?
- How to edit a post meta data in a Gutenberg Block?
- Sanitizing integer input for update_post_meta
- post formats – how to switch meta boxes when changing format?
- Execute action after post is saved with all related post_meta records (data)
- Get a single post by a unique meta value
- if get_post_meta is empty do something
- How we get_post_meta without post id
- How get post id from meta value
- What is the code to get the download link for a product in WooCommerce?
- Dealing with Many Meta Values, 30+
- advanced custom fields update_field for field type: Taxonomy
- update_post_meta not saving when value is zero
- Content hooks vs User hooks
- Meta compare with date (stored as string) not working
- Trying to get custom post meta through Jetpack JSON API [closed]
- How to update/insert custom field(post meta) data with wordpress REST API?
- Restrict post edit/delete based on user ID and custom field
- get_post_meta returning empty string when data shows in the database
- publish_post action hook doesn’t give post_meta_data
- Remove WordPress.org Meta link
- Remove post meta keys
- How to access the post meta of a post that has just been published?
- Why time functions show invalid time zone when using ‘c’ time format?
- Why is get_post_meta returning an array when I specify it as single?
- How to update/delete array in post meta value?
- Adding an assisting editor box to Post page
- Migrating non-WordPress CMS to WordPress, lots of data to move — possible solutions?
- importing data from non-wordpress mysql db
- Should I sanitize custom post meta if it is going to be escaped later?
- Add post meta based on another post meta value before publish post
- How do I retrieve multi-dimensional arrays from the wp_postmeta table, & display on a website?
- Front-end update_post_meta snippet displays white screen?
- Query between two meta values?
- Save both current and new version of post meta
- Get Advanced Custom Fields values before saving [closed]
- Give extra post-meta to RSS feeds
- How to get meta value in wp_attachment_metadata
- How to count post meta key values for all posts in database
- WP REST API “rest_no_route” when trying to update meta
- Clean up output added via wp_head()
- List posts under meta_value heading
- WordPress Admin Panel search posts with custom post meta values along with title
- Why am I getting an infinite loop with have_posts?
- get_post_meta – get a single value
- Group posts by meta_key
- delete value 0 in post meta [closed]
- How to solve slow WordPress site caused by attachment_metadata
- Can I safely delete a record, manually, in the wp postmeta table?
- How to store post meta in an array?
- What action hook updates post meta?
- Can’t translate the post meta data (Date) in another language
- get_post_meta / update_post_meta array
- adding a URL to a post meta
- How to break meta values into different items and avoid duplicates?