Mysql 如何为一个类别中的所有帖子获取特定自定义字段的所有元值?
我试图得到一个自定义字段的所有元值的总和。我现在得到整个站点的元值的总和。我希望它仅限于你所属的类别 代码现在如下所示:Mysql 如何为一个类别中的所有帖子获取特定自定义字段的所有元值?,mysql,wordpress,custom-fields,Mysql,Wordpress,Custom Fields,我试图得到一个自定义字段的所有元值的总和。我现在得到整个站点的元值的总和。我希望它仅限于你所属的类别 代码现在如下所示: <?php $thevariable = $wpdb->get_var($wpdb->prepare(" SELECT SUM($wpdb->postmeta.meta_value) FROM $wpdb->postmeta, $wpdb->po
<?php
$thevariable = $wpdb->get_var($wpdb->prepare("
SELECT SUM($wpdb->postmeta.meta_value)
FROM $wpdb->postmeta, $wpdb->posts
WHERE $wpdb->postmeta.meta_key='mycustomfield'
AND $wpdb->postmeta.post_id=$wpdb->posts.id
"));
echo '<h1>' . $thevariable . '</h1>';
?>
在WP文件中,您可以添加以下行;我想它会满足你的需求
<?php
$MySum = 0;
$args = array(
'category_name' => 'MyCategory',
'meta_key' => 'mycustomfield',
'posts_per_page' => '-1' );
// The Query
$the_query = new WP_Query( $args);
// The Loop
while ( $the_query->have_posts() ) : $the_query->the_post();
$MySum += get_post_meta($post_id, $key, true);
endwhile;
echo '<h1>' . $MySum . '</h1>';
// Reset Post Data
wp_reset_postdata();
?>
pimpin发送的答案是正确的,但不是聪明的答案,它会导致大量无用的内存丢失。您只需使用一个查询即可实现相同的功能—查询wp_Posteta表,这是保存自定义字段的地方(使用sum()sql函数)。