【发布时间】:2019-07-18 19:32:26
【问题描述】:
我正在尝试显示处于特定状态且付款方式为“ppec-paypal”的所有订单的总价值。
我尝试使用 AND 函数按 meta.meta_value 过滤
add_shortcode( 'show_total_pp', 'show_total_pp_shortcode' );
function show_total_pp_shortcode() {
global $wpdb;
$order_totalpp = apply_filters( 'woocommerce_reports_sales_overview_order_totals', $wpdb->get_row( "
SELECT SUM(meta.meta_value) AS total_sales, COUNT(posts.ID) AS total_orders FROM {$wpdb->posts} AS posts
LEFT JOIN {$wpdb->postmeta} AS meta ON posts.ID = meta.post_id
WHERE meta.meta_key = '_order_total'
AND posts.post_type = 'shop_order'
AND meta.meta_value = 'ppec_paypal'
AND posts.post_status IN ( '" . implode( "','", array( 'wc-processing','wc-on-hold' ) ) . "' )
" ) );
return absint( $order_totalpp->total_sales);
echo $order_totalpp;
}
我有这个代码字符串仅用于基于状态的订单,但是当我尝试通过添加以下行来过滤付款方式时: " AND meta.meta_value _payment_method = 'ppec_paypal' " 它不起作用,得到一个“0”值。 我猜我的代码中有语法错误。
【问题讨论】:
标签: php sql wordpress woocommerce shortcode