Сортировка публикаций в архиве по наличию прикрепленного изображения в 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.

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

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

Как добавить своё поле в попап медиафайла WordPress через class-плагин

Июнь 12, 2025 г.

Иногда стандартных полей WordPress для медиафайлов недостаточно. В этой статье я расскажу, как добавить собственное поле в окно редактирования вложения (attachment) — то самое, что появляется при открытии медиафайла в библиотеке. Мы не просто добавим ...

Читать

Сохранение изображения (файла) из WPCF7

Июнь 11, 2018 г.

Еще одна задача, связанная с сохранением данных формы WP Contact Form 7 в базе WP, это загрузка и сохранение файла (обычно - изображения). Особенность работы WPCF7, заключается в том, что загруженный через форму временный файл, плагин переносит ...

Читать

Добавление поля с картинкой в редактор таксономии WP

Июль 4, 2017 г.

Таксономия (словари) Wordpress может быть модифицирована под любые нужды проекта. Для этого CMS предоставляет мощное API, благодаря которому есть готовые ...

Читать

Powered by wordpress plugin, или нет надо мной твоей власти, Завулон

Сентябрь 30, 2015 г.

Люди далекие от программирования, но пожелавшие заиметь свой блог не каком то livejournal или instagram, а так, чтобы он был совсем свой, "типа как сайт", ...

Читать
 

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

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



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