以下是我的查询参数:
$query_args = array(
\'post_type\' => \'rented_properties\',
\'post_status\' => \'publish\',
\'order\' => \'DESC\',
// \'fields\' => \'SUM(amount_to_paid)\',
);
$my_querys = null;
$my_querys = new WP_Query($query_args);
我的元密钥是
amount_to_paid
, 我想得到这个查询条件的所有meta\\u值的总和。请建议您的答案
query_args
.
我的设想是:我有1000篇帖子,每个帖子都有meta\\u key amount\\u to\\u paid,这有一定的价值。现在我过滤了20篇帖子,想得到amount\\u to\\u paid的meta\\u值之和。你现在抓到我了吗?
最合适的回答,由SO网友:Tom J Nowell 整理而成
WP_Query
从数据库获取帖子,但它不是一个通用的SQL查询类,应该真正调用它WP_Post_Query
, 像WP_Query
意味着它可以执行任何SQL。
因此,您需要做几件事:
抓住你需要的帖子,获取他们的元价值amount_to_paid
使用get_post_meta
使用基本的PHP数学将这些值相加+ - / * = += -=
因此:
$sum = 0;
$query = new WP_Query($query_args);
if ( $query->have_posts() ) {
while( $query->have_posts() ) {
$query->the_post();
// do the processing for each post
$sum = $sum + get_post_meta( ... );
}
}
echo esc_html( $sum );