Я хочу запросить 6 сообщений, но только те, которые имеют прикрепленное изображение. Я использую meta_key
метод для этого WP_Query
как таковой:
$args = array(
'post_type' => 'post',
'meta_key' => '_thumbnail_id',
'post_count' => 6 );
$query = new WP_Query($args);
С последующим
<?php while($query->have_posts()) : $query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php the_post_thumbnail('thumbnail'); ?>
<?php endwhile; ?>
Это не похоже на работу. Запрос возвращает более 6 сообщений, а также те, которые не имеют рекомендуемого изображения. Есть идеи, что я здесь не так?
@chip: var_dump($query);
дает большой результат, поэтому я разместил его в пастбине
wp-query
post-thumbnails
harryg
источник
источник
var_dump( $query )
?Ответы:
При запуске средства импорта необходимо установить флажок для загрузки и импорта всех файлов мультимедиа / вложений.
Если вы этого не сделаете, посты будут по-прежнему иметь набор рекомендуемых изображений, но вложение, на которое они ссылаются, будет недействительным, и любая попытка вызова
the_post_thumbnail
потерпит неудачу. Используя ваш код, вы получите только заголовок сообщения, а не миниатюру. Это создало бы впечатление, что сообщения, которые не имеют избранного изображения, извлекаются. Это не тот случай, у них есть рекомендуемое изображение, оно просто недоступно из-за ошибки, которую вы сделали при импорте.Удалите свои сообщения и повторно импортируйте, используя правильные настройки.
Также, чтобы продемонстрировать это, вы не пытались проверить сообщения, всегда проверяйте, например:
Если вы не установили флажок, вы получите изображения, в которых указано, что у них есть выделенное изображение, но изображение не отображается
источник
the_post_thumbnail
сhas_thumbnail
вызовом и добавить еще случай , так что вы определенно однозначно знаете , что пост не имеет признаки образаНачиная с WordPress 3.5, Meta Query Parameters поддерживают
EXISTS
иNOT EXISTS
как операторы сравнения. В случае, если вы используете их, вы можете опуститьvalue
часть мета-запроса. Попробуйте следующие аргументы для вашего запроса:источник
NOT EXISTS
оно используется.