Добрый день, есть плагин
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');