Почему woocommerce_product_query не работает? - PullRequest
0 голосов
/ 15 февраля 2020

Я пытаюсь добавить свой пользовательский meta_query в основной запрос WooCommerce.

Я попробовал этот код:

function testing_woo_product_query( $q ){ 
    $args = array(
      'relation' => 'AND',
      array(
        'meta_key'  => '_price',
        'value'     => 10,
        'compare'   => '>=',
      ),
      array(
        'meta_key'  => '_price',
        'value'     => 30,
        'compare'   => '<=',
      )
    );

    $q->set( 'meta_query', $args ); 

}
add_action( 'woocommerce_product_query', 'testing_woo_product_query' );

Но код не работает. Кто-нибудь может сказать мне, где проблема?

1 Ответ

1 голос
/ 16 февраля 2020

Ваш мета-запрос должен использовать key, а не meta_key - также вы можете использовать "between => array (low number, high number). Вы можете увидеть правильный формат здесь Справочник функций WP meta_query

Это будет делать то, что вы пытаетесь сделать выше:

function testing_woo_product_query( $q ){ 
    $args = array(
      array(
        'key'       => '_price',
        'value'     => array( 10 , 30 ),
        'compare'   => 'BETWEEN',
        'type'      => 'numeric'  
      ),
    );

    $q->set( 'meta_query', $args );

}
add_action( 'woocommerce_product_query', 'testing_woo_product_query' );

Имейте в виду, что это будет Создавайте страницы магазина и архива / категорий, если вы не указали свою функцию с указанием c подробностей.

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