我有一个Nexus 4类别,其中包含:lg-nexus-4-e960
在此类别中,我有100个帖子。 在wp_postmeta表中,每个帖子都有一个meta_field = sales_count和一个meta_value = 1或更多。
我想要的是在自定义模板的循环之外回显该组合的所有sales_count的总值。基本上可以获得销售额。
我对它如何运作有所了解,但我没有实施它的知识。 查询保存自定义字段的wp_postmeta表,并使用sum()sql函数?
我尝试了这段代码,但它没有类别规范:
<?php
$meta_key = 'sales_count';//set this to your custom field meta key
$allmiles=$wpdb->get_var($wpdb->prepare("SELECT sum(meta_value) FROM $wpdb->postmeta WHERE meta_key = %s", $meta_key));
echo '<p>Total miles is '.$allmiles . '</p>';
?>
答案 0 :(得分:0)
也许不是最优雅的解决方案
<?php
$catPost = get_posts(array('category' => get_cat_id("yourCategory"))); //change this
foreach ($catPost as $post) {
setup_postdata($post);
$ids[] = get_the_ID();
}
//we now have an array of ids from that category, so then
$idList = implode(",", $ids); //turn the array into a comma delimited list
$meta_key = 'sales_count';//set this to your custom field meta key
$allmiles = $wpdb->get_var($wpdb->prepare("
SELECT sum(meta_value)
FROM $wpdb->postmeta
WHERE meta_key = %s
AND post_id in (" . $idList . ")", $meta_key));
echo '<p>Total miles is ' . $allmiles . '</p>';
?>
答案 1 :(得分:0)
更快的方式:
$allmiles = $wpdb->get_var($wpdb->prepare(
"SELECT sum( meta_value )
FROM $wpdb->postmeta
WHERE meta_key LIKE %s
AND post_id
IN (
SELECT post_id
FROM $wpdb->term_relationships
WHERE term_taxonomy_id = %d
)" , $meta_key , $cat_id ) );
答案 2 :(得分:0)
对于仍在寻找更详细解决方案的任何人,我根据chiliNUT的上述回答进行以下工作-基于页面ID的条件:
spring:
datasource:
hikari:
pool-name: MyDataPoolName