Intereting Posts
Если идентификатор автора сообщения … Как я могу остановить обновление плагина? Post Ancestor и Child Post в пользовательском типе сообщения Как добавить изображения в таксономические термины? Единый центральный вход для конечных пользователей с любого сайта Как остановить wordpress, чтобы сделать запрос по умолчанию? У вас недостаточно прав для доступа к этой странице при создании плагина Ошибка: как разрешить «вкладчику» загружать медиафайлы в wordpress $ authordata связанные записи автора Правило перезаписи для пользовательских типов сообщений Ежемесячный и годовой архив Как отлаживать фоновое / автоматическое обновление? перемещение локальной базы данных в многоуровневое wordpress Как oEmbed из настраиваемого поля, реагируя на размер контейнера и отзывчивый Действие обратного вызова Redux Создание блока редактирования содержимого в 2013 году

Как показывать только сообщения с изображениями?

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

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

function exclude_post($query) { if ($query->is_home) { $query->set('post__not_in', array(1,2) ); } return $query; } add_filter('pre_get_posts','exclude_post'); 

Нет необходимости в почтовых идентификаторах, у которых нет эскизов. Используйте мета-запрос, чтобы получить только те, что имеют уменьшенное изображение.

Добавить мета-запрос

 function get_only_posts_with_images( $query ) { if ( $query->is_home() && $query->is_main_query() ) { $query->set( 'meta_query', array( array( 'key' => '_thumbnail_id' ) ) ); } } add_action( 'pre_get_posts', 'get_only_posts_with_images' ); 

Или используйте пользовательский запрос.

 $query = " SELECT posts.* FROM $wpdb->posts AS posts INNER JOIN $wpdb->posts AS attachment ON attachment.`post_parent`=posts.`ID` AND attachment.`post_type`='attachment' WHERE posts.`post_type`='post' "; $posts_with_images = $wpdb->get_results( $query, OBJECT );