Intereting Posts
Как установить пользовательские возможности для пользовательских таксономий? Как получить идентификатор пользователя при регистрации и добавить в пользовательскую таблицу Перенаправить с сообщением после admin_post.php Использование файла .pdf в виде страницы в wordpress Как отключить миниатюрный фильтр для определенной части шаблона или размера изображения? the_content (), похоже, блокирует мой ACF-код как добавить html-страницу в WordPress с помощью настраиваемого шаблона страницы? Сортировка пользовательских полей WordPress, странное поведение: последнее сообщение в конце Что такое комментарий к пакету и подпакету? Изменение даты публикации в мета-окне Пользовательский тип сообщений и отображение пользовательских таксономий Есть ли способ переупорядочить выпадающее меню «Пользовательская таксономия» на странице публикации пользовательских сообщений? Как заменить изображение WordPress на видео? WordPress shortcode Issue! Можно ли использовать вывод Shortcode в качестве значения атрибута HTML?

Запросить сообщения по пользовательской таксономии и сортировать по post_modified

Я пытаюсь запросить 5 сообщений в cpt 'vacancy'. Запрос очень сложный. Для начала мне нужны сообщения, которые относятся к пользовательской таксономии с идентификатором 18 и отсортированы по «post_modified», затем – все остальные сообщения в вакансии «cpt» также отсортированы по «post_modified». И все это ограничивается 5 сообщениями.

Пока я использую:

$query_hot = $wpdb->get_results("(SELECT * FROM wp_posts WHERE post_type = 'vacancy' AND post_status = 'publish' AND ID IN (SELECT object_id FROM wp_term_relationships WHERE wp_term_relationships.term_taxonomy_id = 18) ORDER BY post_modified DESC) UNION (SELECT * FROM wp_posts WHERE post_type = 'vacancy' AND post_status = 'publish' AND ID NOT IN (SELECT object_id FROM wp_term_relationships WHERE wp_term_relationships.term_taxonomy_id = 18) ORDER BY post_modified DESC) LIMIT 5"); 

Он запрашивает правильные сообщения, но не сортирует «post_modified». Что я делаю неправильно?

Функция WP_Query может использоваться для пользовательских таксономий и типов сообщений и, вероятно, проще, чем напрямую обращаться к базе данных. Следующее должно делать то, что вы ищете:

 <?php $query_hot = new WP_Query( array( 'post_type' => 'vacancy', 'field' => '18', // You can use the ID or slug here 'orberyby' => 'modified', 'posts_per_page' => 5 )); while($query_hot->have_posts()) : $query_hot->the_post(); ?> <!-- Whatever you want to show in your loop --> <?php endwhile; wp_reset_postdata(); // reset the query ?> 

Более подробно см. Статью Codex для WP_Query .