Intereting Posts
get_transient (), PHP switch () и операторы сравнения Включая style.css в Child Theme Создание коротких кодов вкладок Hack nav menu, чтобы добавить gettext () в пункты меню? отображение другого шаблона на основе типа сообщения Как показать только блог-домен вместо целой постоянной ссылки в цикле Как сделать обычную почтовую таксономию похожей на обычные категории? Проблемы с установкой WordPress Получить PHP Не работает Ответ Пользовательская структура постоянной ссылки только для сообщений по умолчанию Субдомен или второй, временный другой домен? URL-адрес URL-адреса WordPress для динамического и настроенного URL-адреса Каталог ссылок на Symlinked не отображается в Admin Почему я не могу войти в Dashboard после добавления себя к администратору через phpMyAdmin? Как построить несколько мета-ящиков Распечатайте идентификатор пользователя WordPress – два сайта с одинаковым кодом, но с другим выходом

mySQL-запрос. ORDER BY meta_key

Я довольно долго борюсь с этим и начинаю думать, что мне не хватает чего-то большого. В сообщениях CPT могут быть метаданные или метаданные ( _vip_post [0|1] , _thumbnail_id [null|numeric] ).

Если я запрашиваю _thumbnail_id это нормально и работает:

 SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts LEFT JOIN wp_postmeta m ON ( wp_posts.ID = m.post_id AND m.meta_key = '_thumbnail_id') ORDER BY m.meta_key DESC, wp_posts.post_date DESC 

Сначала возвращает сообщения с эскизами, _thumbnail_id = null. Достаточно хорошо. За работой.

Но если я запрашиваю мой новый _vip_post meta_key, он полностью игнорируется при заказе. Та же картина.

 SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts LEFT JOIN wp_postmeta m ON ( wp_posts.ID = m.post_id AND m.meta_key = '_vip_post') ORDER BY m.meta_key DESC, wp_posts.post_date DESC 

Просто заказано post_date . Не работает.

Solutions Collecting From Web of "mySQL-запрос. ORDER BY meta_key"

Zlatev

meta_key – это имя настраиваемого типа сообщений и является VARCHAR (255)
meta_value – значение ключа и является длинным текстом

По вашему запросу вы не заказываете значения, а по имени поля. Запрос работает для _thumbnail_id, потому что вы используете LEFT JOIN, а CPT может быть нулевым.

Вы можете увидеть, запускаете ли вы этот запрос

 SELECT SQL_CALC_FOUND_ROWS wp_posts.* ,m.* FROM wp_posts LEFT JOIN wp_postmeta m ON ( wp_posts.ID = m.post_id AND m.meta_key = '_thumbnail_id') ORDER BY m.meta_key ASC, wp_posts.post_date DESC 

См. Нуль для meta_key

Во втором случае всегда присутствует CPT _vip_post, поэтому порядок в имени поля не работает. Вы должны заказать его с помощью meta_value.

Попробуйте что-нибудь вроде:

 SELECT SQL_CALC_FOUND_ROWS wp_posts.* ,m.* FROM wp_posts LEFT JOIN wp_postmeta m ON ( wp_posts.ID = m.post_id AND m.meta_key = '_vip_post') ORDER BY m.meta_value ASC, wp_posts.post_date DESC 

Вы можете изменить порядок, используя * m.meta_value DESC *.