Php 有条件地计算元值之和
仅当订单状态设置为“已完成”时,我希望使用键_alg_wc_cog_order_price计算所有元值的总和。我已经为此创建了一个快捷码,但它没有返回正确的值,而是返回0。但是如果我将get_the_ID()替换为一个特定的post ID,比如56或11,它会返回正确的值 请告诉我哪里出错了Php 有条件地计算元值之和,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,仅当订单状态设置为“已完成”时,我希望使用键_alg_wc_cog_order_price计算所有元值的总和。我已经为此创建了一个快捷码,但它没有返回正确的值,而是返回0。但是如果我将get_the_ID()替换为一个特定的post ID,比如56或11,它会返回正确的值 请告诉我哪里出错了 add_shortcode('user_on_hold_cogs', 'get_user_orders_on_hold_totalb'); function get_user_orders_on_hold
add_shortcode('user_on_hold_cogs', 'get_user_orders_on_hold_totalb');
function get_user_orders_on_hold_totalb() {
$total_amount = 0; // Initializing
// Get current user
if( $user = wp_get_current_user() ){
// Get 'on-hold' customer ORDERS
$on_hold_orders = wc_get_orders( array(
'limit' => -1,
//'customer_id' => $user->ID,
'status' => 'completed',
) );
foreach( $on_hold_orders as $order) {
$stockk = (float) get_post_meta( get_the_ID() , '_alg_wc_cog_order_profit', true );
//$total_amount += $order->get_total();
$total_amount += $stockk ;
}
}
return $total_amount;
}
快速检查时,在此处使用
get_the_id()
可能无法获取订单id[假设您试图访问订单id。]
尝试用$order->get\u ID()
替换get\u ID()
您的代码将成为
$stockk = (float) get_post_meta( $order->get_id(), '_alg_wc_cog_order_profit', true );
如果上述代码不起作用,请告诉我。谢谢!这是工作!!我现在认识到我的错误了@萨利很乐意帮忙:)