WordPress – сортировка по просмотрам

Решение, как вывести популярные записи, по количеству просмотров, без плагинов в WordPress
Решение:
  1. functions.php
    // Сортировка по просмотрам
    add_action( 'pre_get_posts', 'my_view_filter' );
    function my_view_filter($query){
        if ( 
            !is_admin() && 
            $query->is_main_query() && 
            ( $query->is_home() || $query->is_archive() || $query->is_search() )
        ) {
            if (isset($_REQUEST['orderby'])) {
                $order = $_REQUEST['orderby'];
            }
            if ( $order === 'views') {
                $query->set('meta_key', 'post_views_count');
                $query->set('orderby', 'meta_value_num');
                $query->set('order', 'DESC');
            }
        }
    }
  2. в параметрах запроса
    'meta_key'    => 'post_views_count',
    'orderby'     => 'meta_value_num',
    'order'       => 'desc',

Комментарии (0)

Похожие решения:
Изменено: 14 03 2020
Просмотров: 1394