1
我需要獲取woocommerce中通過開始日期,最終日期和狀態的訂單列表。按日期和狀態獲取訂單woocommerce
我嘗試使用一些技術,如Mike Jolley所述,我與this混合。但我沒有成功。這將返回所有訂單。我正在使用woocommerce版本2.2.10。
感謝您的幫助。
我的代碼:
public function get_orders(){
global $json_api;
$initial_date = $json_api->query->para1;
$final_date = $json_api->query->para2;
$order_id = $json_api->query->para3;
$status_order = $json_api->query->para4;
define('GET_ORDERS_FILTER_DATE_FROM', $initial_date);
define('GET_ORDERS_FILTER_DATE_TO', $final_date);
add_filter('posts_where', array(__CLASS__, 'get_orders_where_dates_between'));
$orders = get_posts(array(
'post_type' => 'shop_order',
'orderby' => 'post_date',
'order' => 'DESC',
'post_status' => array_keys($status_order)
));
remove_filter('posts_where', 'order_page_get_orders_where_dates_between');
return $orders;
}
function get_orders_where_dates_between($where){
global $wpdb;
if(! defined('GET_ORDERS_FILTER_DATE_FROM') || ! defined('PARCELWARE_GET_ORDERS_FILTER_DATE_TO'))
return $where;
$where .= $wpdb->prepare(" AND post_date >= '%s' ", GET_ORDERS_FILTER_DATE_FROM);
$where .= $wpdb->prepare(" AND post_date <= '%s' ", GET_ORDERS_FILTER_DATE_TO);
return $where;
}