[SQL] Woocommerce의 일에 대한 주문 총 구매 금액을 받기
SQLWoocommerce의 일에 대한 주문 총 구매 금액을 받기
Woocommerce, 나는 오늘 주문 총 구매 금액을 얻으려고 노력, 아래의 코드를 작성 :
function order_total_woo_fahad(){
// Get orders from people named John that were paid in the year 2016.
$orders = wc_get_orders( array(
'date_paid' => '2018-07-03'
) );
$total_of_all=0;
for($i=0;$orders[i];$i++)
$total_of_all= $orders[i]->get_total();
return $total_of_all;
}
그러나 널 (null)을 반환합니다.
내가 잘못 뭐하는 거지? 어떻게 하루 주문 총 구매 금액을받을 수 있나요?
해결법
-
==============================
1.이 얻을 수있는 가장 효과적인 방법은 다음과 같은 매우 가벼운 SQL 쿼리를 사용하는 것입니다, 즉, "처리"와 "완료"주문 상태에 대한 지난 24 시간 동안 모든 주문 합계의 합계를 얻을 것이다 :
이 얻을 수있는 가장 효과적인 방법은 다음과 같은 매우 가벼운 SQL 쿼리를 사용하는 것입니다, 즉, "처리"와 "완료"주문 상태에 대한 지난 24 시간 동안 모든 주문 합계의 합계를 얻을 것이다 :
function get_daily_purchases_total(){ global $wpdb; return $wpdb->get_var( " SELECT DISTINCT SUM(pm.meta_value) FROM {$wpdb->prefix}posts as p INNER JOIN {$wpdb->prefix}postmeta as pm ON p.ID = pm.post_id WHERE p.post_type LIKE 'shop_order' AND p.post_status IN ('wc-processing','wc-completed') AND UNIX_TIMESTAMP(p.post_date) >= (UNIX_TIMESTAMP(NOW()) - (86400)) AND pm.meta_key LIKE '_order_total' " ); }
코드는 function.php의 활성 자식 테마의 파일 (또는 활성 테마)에 간다. 테스트 및 작동합니다.
사용법 예 - 매일 총 형식의 양을 구입 표시 :
<?php echo '<p>Total purchased of the day: ' . strip_tags( wc_price(get_daily_purchases_total() ) ) . '</p>'; ?>
대신 "오늘"날짜를 기준으로 총을 얻고 싶은 경우에, 당신은 코드이 줄을 대체합니다 :
AND UNIX_TIMESTAMP(p.post_date) >= (UNIX_TIMESTAMP(NOW()) - (86400))
이 라인별로 :
AND DATE(p.post_date) >= CURDATE()
-
==============================
2.
<?php global $wpdb; $date_from = '2015-11-20'; $date_to = '2015-12-20'; $post_status = implode("','", array('wc-processing', 'wc-completed') ); $result = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE post_type = 'shop_order' AND post_status IN ('{$post_status}') AND post_date BETWEEN '{$date_from} 00:00:00' AND '{$date_to} 23:59:59' "); echo "<pre>"; print_r($result); ?>
from https://stackoverflow.com/questions/51152861/get-orders-total-purchases-amount-for-the-day-in-woocommerce by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] MS SQL 예외 : '@ P0'근처의 구문이 잘못되었습니다 (0) | 2020.06.14 |
---|---|
[SQL] SSIS 가장 좋은 방법은 대상 서버에 소스에서 N 테이블을로드 (0) | 2020.06.14 |
[SQL] PHP SQL 명령문을 준비 얼마나 코드의 반복을 피하기 위해? (0) | 2020.06.14 |
[SQL] PIVOT 동적에서 반환 된 결과는 두 개의 테이블을 조인 (0) | 2020.06.14 |
[SQL] OLEDB 예외를 진단 할 때 2010 쿼리 엑셀 (0) | 2020.06.14 |