You have to create custom query, to get data from {$wpdb->prefix}postmeta
depending on the meta_key
and store the meta_value
s inside an array, then sum them.
So we can build a function like this:
/**
* Query meta values by meta key.
*
* @return int Returns sum of meta values
*/
function get_meta_value_by_meta_key(){
global $wpdb;
$metaValues = array();
$query = "SELECT meta_value FROM $wpdb->postmeta WHERE meta_key = 'Creation_Views'";
$results = $wpdb->get_results($query);
if(!empty($results) && !is_null($results)){
foreach($results as $result){
foreach($result as $value){
$metaValues[] = $value;
}
}
}
//get_results returns null on failure
if(is_null($results) && WP_DEBUG == true){
$wpdb->show_errors();
$wpdb->print_error();
}
$sum = array_sum(array_map('intval', $metaValues));
return $sum;
}
add_shortcode('Stats', get_meta_value_by_meta_key());