@rifat2125

Как сделать свою товаров по нескольким своим параметрам в Woocommerce?

Здравствуйте!
У меня на сайте два кастомных параметра: is_product_sold и is_temporarily_unavailable.

Задача отсортировать товары так, чтобы товары у которых включен один из этих параметров, уходили в самый конец списка и при этом все товары были отсортированы по дате.

По одному параметру отсортировать получилось, а как добавить второй - не знаю.

add_action( 'woocommerce_product_query', 'product_query_by_modified_date' );
function product_query_by_modified_date( $query ) {
    if ( ! isset( $_GET['orderby'] ) && ! is_admin() ) {
    $args = array(
      'relation' => 'OR',
      array(
        'key'     => 'is_product_sold',
        'compare' => 'NOT EXISTS',
      ),
      array(
        'relation' => 'OR',
        array(
          'key'   => 'is_product_sold',
          'value' => 'on',
        ),
        array(
          'key'     => 'is_product_sold',
          'value'   => 'on',
          'compare' => '!=',
        ),
      ),
    );
    $query->set( 'meta_query', $args );
        $query->set( 'orderby', array( 'meta_value' => 'ASC', 'date' => 'DESC' ) );
  }
}
  • Вопрос задан
  • 16 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы