Сортировка публикаций в архиве по наличию прикрепленного изображения в WordPress

Практическая задача, когда требуется «спрятать» в конец списка публикации, для которых пока нет прикрепленного изображения. Это может быть архив или страница какой то рубрики, таксономии и т.п.

Лента таких страниц базируется на результате запроса через wp_query API. Последний фактически является набором фильтров, используемых для выборки публикации в wordpress.

В нашей задаче требуется сделать две вещи:

  1. присоединить таблицу мета полей публикаций с ключом ‘_thumbnail_id’,
  2. каким то образом использовать значение этого мета поля для сортировки.

Если с первой задачей API как то справляется, т.е. вы можете указать примерно следующее, чтобы произошел JOIN таблицы мета полей с не исключающими какие либо записи условиями:

то со вторым пунктом API не может вам помочь вовсе, т.к. набор допустимых ключей в фильтре orderby строго ограничен.

Да, несмотря на очень широкий ассортимент фильтров и постоянное развитие данного API, заменить собой SQL данное API не в состоянии. Поэтому для решения данной задачи придется использовать фильтры, чтобы вмешаться в создаваемый программой SQL запрос.

Начиная с версии WP 3.1.0 программисту доступен hook posts_clauses. Цель которого позволить изменить части выражения SQL на конечном этапе.

Добавим требуемые операции в функцию, которую будем цеплять через posts_clauses.

Функцию можно объявить где то в functions.php, а подключать её следует точечно в нужных шаблонах через add_filter / remove_filter.

Вот как то так:

Написать комментарий

Мало букафф? Читайте есчо !

Модуль для WP Counter Integration

Октябрь 30, 2015 г.

На днях собрал модуль для подключения счетчиков на сайт под WP. Он позволяет добавить код Метрики Яши и Аналитики Гоши. Сегодня я его уже записал в репозиторий wordpress.org. Он решает задачу по размещению кода счетчика на страницах сайта, но не ...

Читать

Хлебные крошки, версия 1.2

Июль 8, 2018 г.

Очередное обновление WP плагина Genzel Breadcrumbs. Версия 1.2. Что нового? Переработана логика "монтирования" Монтирование позволяет задать несколько условий в части выражения "what" (что монтировать?). К примеру, можно указать что монтировать ...

Читать

 

Комментарии к «Сортировка публикаций в архиве по наличию прикрепленного изображения в WordPress»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: