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

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

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

Ошибка формирования чека в best2pay для WooCommerce при использовании купонов — разбор и решение

Январь 29, 2026 г.

В одном из проектов столкнулся с проблемой формирования фискального чека в модуле оплаты best2pay для WooCommerce. Ошибка проявлялась не всегда, а только при использовании промокодов и нескольких товаров в корзине. Формально платеж проходил, но строки ...

Читать

Мусорные страницы в Wordpress

Январь 17, 2017 г.

В Wordpress обнаруживается не мало артефактов маршрутизации, которые создают головную боль SEO-специалистам. Я уже рассказывал на днях о страницах вложений. А сегодня расскажу ещё об одном случае. Попробуйте на вашем блоге под WP добавить к адресу ...

Читать

Wordpress XMLRPC DOS атака

Апрель 23, 2016 г.

Хакеры ищут разные пути взлома ваших сайтов. В большистве случаев, если только сайт не представляет какой то коммерческой ценности, это резвятся детишки, ...

Читать

Как получить стоимость товара в WC_Order

Ноябрь 22, 2020 г.

Искал как вытянуть стоимость позиций товара из заказа в woocommerce. А в итоге обнаружил неточность в документации плагина. Если вы располагаете идентификатором заказа, который по сути является posd_id, то алгоритм получения данных о строках заказа ...

Читать
 

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

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



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