Несколько внутренних объединений get_posts WooCommerce / WordPress - PullRequest
1 голос
/ 08 марта 2019

Я использую WooCommerce с темой Storefront, и мои страницы категорий работают довольно медленно. Когда я наблюдаю за запросом, я вижу несколько внутренних объединений на "term_taxonomy_id"

WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (25) 
      AND tt1.term_taxonomy_id IN (25,268477,268482,268506,268507 etc etc) 
      AND AND tt2.term_taxonomy_id IN (25,268477,268482,268506,268507 etc etc)

но когда я запускаю (в phpmyadmin) тот же запрос без внутренних объединений для tt1.term_taxonomy_id и tt2.term_taxonomy_id, я получаю те же результаты.

Я пытался избавиться от этих внутренних объединений, подключив функцию в pre_get_posts

if ( isset ( $wp_query->query_vars['product_cat'] ) ) {
        $wp_query->set('tax_query', array( array (
            'taxonomy' => 'product_cat',
            'terms' => 25,
            'include_children' => false
        ) ) );
    }

но это не влияет на запрос. Кто-нибудь знает, как этого добиться?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...