Quiero consultar 6 publicaciones, pero solo aquellas que tienen una imagen destacada adjunta. Estoy usando un meta_key
método para esto WP_Query
como tal:
$args = array(
'post_type' => 'post',
'meta_key' => '_thumbnail_id',
'post_count' => 6 );
$query = new WP_Query($args);
Seguido por
<?php while($query->have_posts()) : $query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php the_post_thumbnail('thumbnail'); ?>
<?php endwhile; ?>
Esto no parece funcionar. La consulta está devolviendo más de 6 publicaciones y también aquellas que no tienen una imagen destacada. ¿Alguna idea de lo que me he equivocado aquí?
@chip: var_dump($query);
da un gran resultado, así que lo publiqué en un pastebin
wp-query
post-thumbnails
harryg
fuente
fuente
var_dump( $query )
?Respuestas:
Al ejecutar el importador, debe marcar la casilla de verificación para descargar e importar todos los medios / archivos adjuntos.
Si no lo hace, las publicaciones aún tendrán un conjunto de imágenes destacadas, pero el archivo adjunto al que hacen referencia no será válido, y cualquier intento de llamar
the_post_thumbnail
fallará. Usando su código obtendría solo el título de la publicación, y no una miniatura. Esto daría la impresión de que las publicaciones que no tienen imagen destacada se están introduciendo. Este no es el caso, tienen una imagen destacada, simplemente no está disponible debido al error que cometió al importar.Elimine sus publicaciones y vuelva a importar utilizando la configuración correcta.
También para demostrar el punto, no intentaste verificar las publicaciones, siempre verifica, por ejemplo:
Si no ha marcado la casilla de verificación, obtendrá imágenes que indican que tienen una imagen destacada, pero no se muestra ninguna imagen
fuente
the_post_thumbnail
con unahas_thumbnail
llamada y agregue un caso más para que definitivamente sepa claramente que la publicación no tiene una imagen destacadaA partir de WordPress 3.5, los parámetros de Meta Query admiten
EXISTS
yNOT EXISTS
como operadores de comparación. En el caso de que los esté utilizando, puede omitir lavalue
parte de la metaconsulta. Pruebe los siguientes argumentos para su consulta:fuente
NOT EXISTS
se usa.