2016-11-17 88 views
0

我正在尋找add_filter或add_action,我可以在functions.php中限制訂單admin編輯頁面(shop_order)中查詢或緩存結果的數量。Woocommerce Admin Orders掛鉤以限制顯示的訂單數量或總訂單數

我們目前有大約15,000的訂單和查詢需要20秒以上來加載。將結果限制在1000或2000年就足夠了。

瞬態已被刪除,數據庫優化。通常發現的罪魁禍首。但我沒有足夠的囂張地知道一切,所以任何建議,歡迎包括修改查詢。

回答

1

只是快速的頭腦風暴,但也許這將有助於:

add_action('pre_get_posts', 'limitShopOrders'); 

function limitShopOrders ($query) { 

if (is_admin() and $query->is_main_query() and $query->get('post_type') == 'shop_order') { 

$query->set('posts_per_page' => 1000); 
$query->set('no_found_rows' => true); 

} 

} 

有趣和重要的是no_found_rows - 你可以在這裏讀到它:https://wordpress.stackexchange.com/a/181553

+0

感謝。但它似乎會引發錯誤。也許是因爲posts_per_page等應該在數組中設置? – user3795286

+0

好吧,我發現這個問題:$查詢 - >設置( 'posts_per_page', '1000');我正在糾正你的答案並接受解決方案。謝謝。 – user3795286