以下是根据单击的状态或分类法更改的最终版本。
未来的读者需要改变:
custom_post_name
- 自定义帖子的slug名称
custom_taxonomy_name
- 如果你有,否则只需“分类法”
_custom_field_id
- 要汇总的字段的元id
使用自定义分类名称的原因是,我有一个包含价格的列和一个包含“类别”的列。当你点击一个状态时,你会看到该状态下所有自定义帖子的价格,但我想根据“类别”进一步过滤价格。当您单击它时,它只显示那些特定的帖子,并且只显示对该自定义分类法的总价格更改。
谢谢大家的帮助!
foreach( array( \'custom_post_name\' ) as $hook )
add_filter( "views_edit-$hook",\'products_price_sum_dpf\');
function products_price_sum_dpf($views) {
$term = get_term_by( \'slug\', get_query_var( \'term\' ), get_query_var( \'taxonomy\' ) );
$slug = $term->slug;
if ($_GET[\'post_status\'] != NULL) {
$args = array(
\'post_type\' => \'custom_post_name\',
\'posts_per_page\' => -1,
\'post_status\' => $_GET[\'post_status\'],
\'fields\' => \'ids\',
\'custom_taxonomy_name\' => $slug
);
} else {
$args = array(
\'post_type\' => \'custom_post_name\',
\'posts_per_page\' => -1,
\'post_status\' => \'test\',
\'custom_taxonomy_name\' => $slug,
\'fields\' => \'ids\'
);
};
$postslist = get_posts( $args );
$sum_total = 0;
foreach ($postslist as $post) {
$price = get_post_meta( $post, \'_custom_field_id\', true );
$sum_total = $sum_total+$price;
}
//This is the sum of the price
if ($_GET[\'post_status\'] == NULL && $slug == NULL) {
echo \'\';
} else {
$views[\'price_sum\'] = \'<strong style="color:#ff0000">Total: \'.$sum_total.\'</strong>\';
}
return $views;
}