Сортировка записей по рейтингу (звездочкам)
Работает со встроенным рейтингом у записей, либо можете подстроить под свой плагин, заменив wpshop_rating_value
на ваше название мета-поля, по которому будет идти сортировка.
Код ниже можно добавить в functions.php дочерней темы или установите, активируйте плагин ProFunctions и добавьте в него код:
/**
* Сортировка записей в архивах по рейтингу (звездочкам)
* https://support.wpshop.ru/faq/change-post-rating/
*
* Если вам нужна подобная сортировка не во всех архивах,
* замените условие is_archive() на другое
*/
add_action( 'pre_get_posts', function ( $query ) {
if ( is_archive() && $query->is_main_query() && ! is_admin() ) {
$query->set( 'meta_query', array(
'relation' => 'OR',
array(
'key' => 'wpshop_rating_value',
'compare' => 'NOT EXISTS'
),
array(
'key' => 'wpshop_rating_value',
'compare' => 'EXISTS'
),
) );
$query->set( 'order', 'DESC' );
$query->set( 'orderby', 'meta_value_num date' );
}
});
Вам помог ответ?