2016-11-17 3 views
0

私はfunctions.phpに置くことができるadd_filterまたはadd_actionを探して、注文管理者編集ページ(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

OK、問題が見つかりました:$ query-> set( 'posts_per_page'、 '1000');私はあなたの答えを修正し、解決策として受け入れています。ありがとうございました。 – user3795286

関連する問題