Omitir publicaciones sin una miniatura en bucle

4

Quiero omitir todas las publicaciones que no tengan miniaturas. El código aún no funciona correctamente.

En realidad, la secuencia de comandos no muestra publicaciones sin una miniatura, eso es bueno, pero en el bucle, la publicación sin miniatura todavía se cuenta como una publicación.

Entonces, cuando tengo, por ejemplo, 10 publicaciones en mi base de datos. Quiero mostrar 5 de ellos. Pero solo las publicaciones con una miniatura.

<ul>

    <?php

    $args = array(  'numberposts'  => 5,  
                    'orderby'      => 'date',  
                    'order'        => 'DESC',
                    'post_type'    => 'post',
                    'post_status'  => 'publish' 
                );

    $my_posts = get_posts( $args );
    global $post;
    foreach( $my_posts as $post ) : setup_postdata($post); 

    if ( !has_post_thumbnail() ) { 
        continue;             
    } else {

    ?>

        <li>
            <div class="clearfix" >
                <div class="thumb"><?php the_post_thumbnail('post-image-big'); ?></div>
                <a href="<?php the_permalink(); ?>" class="title"><?php the_title(); ?></a>
                <p class="category"><?php the_category(', '); ?></p>
            </div>
        </li>

    <?php } ?>

    <?php endforeach; ?>

</ul>
    
pregunta sascha 24.05.2013 - 10:48

1 respuesta

4

Puedes intentar agregar

                'meta_key'     => '_thumbnail_id',

a tus argumentos de entrada:

$args = array(  'numberposts'  => 5,  
                'orderby'      => 'date',  
                'order'        => 'DESC',
                'post_type'    => 'post',
                'post_status'  => 'publish',
                'meta_key'     => '_thumbnail_id',
            );

para consultar solo publicaciones con miniaturas (es decir, imágenes destacadas).

ps: en lugar de esta estructura:

if ( !has_post_thumbnail() ) { 
        continue;             
} else {

}

se puede usar en general

if ( has_post_thumbnail() ) { 

}

Pero ahora puede omitir la parte if -sentence en el ciclo, ya que ahora solo está obteniendo publicaciones con imágenes destacadas.

    
respondido por el birgire 24.05.2013 - 11:04

Lea otras preguntas en las etiquetas