WordPress: сортировка по численному значению произвольного поля

Приветствую вас, уважаемые читатели! Настало время ценных советов.

Такое вот замысловатое название абсолютно оправдано.

Данный материал носит сугубо практический характер и адресован тем, кто использует WordPress CMS, но ленится в изучении API. В общем, навеяно вопросами читателей. Стало быть, тема актуальная. А потому — отвечаю. Кратко, с примерами.

Формулировка задачи

Записи выводятся с помощью цикла <?php if( have_posts() ){ while( have_posts() ){ the_post(); ?>.

Требуется выводить данные записи по значению кастомного (произвольного) поля. Причем это значение является числом.

Практическое применение:

  • сортировка товаров по цене
  • вывод записей в определенной последовательности

Завести произвольные поля можно как с помощью стандартных средств CMS (мета-поля), так и с помощью сторонних решений.

Данный вопрос в рамках этой публикации мы не рассматриваем, но обязательно вернемся к нему в рамках статей о WordPress.

Решение

Перед циклом вывода записей добавляем следующий код:

<?php   
  $args = array(
  // Наименование поля для сортировки (укажите свое)
    'meta_key'       => 'sort-name',
    // Определяем тип сортировки. В нашем случае - число.    
    'orderby'        => 'meta_value_num',     
    // Тип записей (если требуется)    
    'post_type'      => 'post',
    // Вывод по убываниюю (от 1000 к 1)
    'order'          => 'DESC', 
    // Вывод по возрастанию (от 1 к 1000)
    //'order'          => 'ASC', 
    // Количество записей на странице: не более 20
    'posts_per_page' => 20,
  );
  // Передаем массив опций в query_posts
  query_posts( $args );
?>

Обратите внимание на опции! В каждом конкретном случае они могут отличаться.

В заключение материала — ссылка на Кодекс WordPress.

Опубликовано: 19 марта 2016 года, в рубрике «Wordpress».

Просмотров: 1811.

Метки: , .

Все публикации