Задать вопрос
@f_ckyfox

Как отсортировать товары по просмотрам и по дате публикации?

Добрый день, есть плагин Post Views Counter который генерирует свою БД как я понял.

Можно использовать meta поле post_views - количество просмотров товара

Цель: отсортировать товары по просмотрам и по дате публикации и сделать это сортировкой по-умолчанию на странице товаров.

Сам сайт

У меня получилось лишь вывести сортировку и отобразить товары с просмотрами. Остальные товары из магазина не отображаются так как просмотров у них ещё нет. Как сделать, чтобы допустим вывелся сначала массив товаров с просмотрами и был отсортирован от больших просмотрам к меньшему (+желательно после этого ещё отсортирован от нового к старому)
А затем после вывести стандартный массив с сортировкой нового к старому?

add_filter('posts_orderby', 'orderbyreplace' );
add_filter('woocommerce_catalog_orderby', 'add_custom_sorting_options', 999999 );

function add_custom_sorting_options($options) {
    $options['post_views'] = 'Popularity';
    return $options;
}

$meta_query = array(
    'relation' => 'AND',
    'post_views' => array(
        'key' => 'post_views',
        'compare' => 'EXISTS',
    ),
    'date' => array(
        'key' => 'date',
        'compare' => 'EXISTS',
        'type' => 'NUMERIC'
    )
);

$args['meta_query'] = $meta_query;
$args['orderby'] = array(
    'post_views' => 'DESC',
    'date' => 'ASC' // Изменено на сортировку по дате от нового к старому
);


$loop = new WP_Query($args);

remove_filter('posts_orderby', 'orderbyreplace');
  • Вопрос задан
  • 88 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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