web-dev-qa-db-fra.com

Afficher les publications récentes avec des vignettes dans la maçonnerie

Sur un modèle de page, je dois afficher les 10 derniers articles. J'ai donc essayé d'utiliser, wp_get_recent_posts, trouvé ici dans le codex, ce qui, à mon avis, est un crochet approprié à cet effet. Le reste du code provient de mon archive.php qui affiche les post-vignettes dans maçonnerie est parfait. Je voudrais simplement réaliser la même chose avec les messages récents. Voici à quoi ressemble mon code:

<?php 
/* 
Template Name: Recent Profiles 
*/          
get_header(); 
?>

<h1 class="page-title"><?php the_title(); ?></h1>    

<div id="content">
<div id="masonry">


<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

<div class="item normal" data-order='1'><!--BEGIN .item --> 
<div <?php post_class(); ?> id="featured-<?php the_ID(); ?>"><!--BEGIN .hentry -->





<?php
    $args = array( 'numberposts' => '10' );
    $recent_posts = wp_get_recent_posts( $args );
    foreach( $recent_posts as $recent ) {
    if ( has_post_thumbnail($recent["ID"])) {    
        echo '<a href="' . get_permalink($recent["ID"]). '">';
        echo get_the_post_thumbnail($recent["ID"], 'archive_grid');
        echo '</a>';
    }
}
?>





</div><!--END .hentry-->  
</div><!--END .item -->

<?php endwhile; endif; ?>

<?php get_template_part('includes/index-loadmore'); ?>

</div><!--END #masonry -->
<div id="masonry-new"></div>

<!--BEGIN .post-navigation -->
        <div class="post-navigation clearfix">
            <?php dt_pagination(); ?>
        <!--END .post-navigation -->
        </div>

    </div><!-- #content -->

<?php get_footer(); ?>

Problème: Le problème est que le code affiche simplement une vignette de publication récente au lieu de la version attendue. Aidez-moi s'il vous plaît pour ce que je pourrais manquer ici. Peut-être que quelque chose ne va pas avec la boucle. FYI archive_grid est le nom de la vignette personnalisée.

1
gurung

Ajoutez le paramètre meta_key pour récupérer les derniers messages contenant le jeu d’images. $args = array( 'numberposts' => '10', 'meta_key' => '_thumbnail_id' );

<?php
/* 
Template Name: Recent Profiles 
*/
get_header();
?>
<h1 class="page-title"><?php the_title(); ?></h1>

    <div id="content">
        <div id="masonry">
            <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
                <div class="item normal" data-order='1'><!--BEGIN .item -->
                    <div <?php post_class(); ?> id="featured-<?php the_ID(); ?>"><!--BEGIN .hentry -->
                        <?php
                        $args = array( 'numberposts' => '10', 'meta_key' => '_thumbnail_id' );
                        $recent_posts = wp_get_recent_posts( $args );
                        foreach ( $recent_posts as $recent ) {
                            if ( has_post_thumbnail( $recent["ID"] ) ) {
                                echo '<a href="' . get_permalink( $recent["ID"] ) . '">';
                                echo get_the_post_thumbnail( $recent["ID"], 'archive_grid' );
                                echo '</a>';
                            }
                        }
                        ?>
                    </div>
                    <!--END .hentry-->
                </div><!--END .item -->
            <?php endwhile; endif; ?>
            <?php get_template_part( 'includes/index-loadmore' ); ?>
        </div>
        <!--END #masonry -->
        <div id="masonry-new"></div>
        <!--BEGIN .post-navigation -->
        <div class="post-navigation clearfix">
            <?php dt_pagination(); ?>
            <!--END .post-navigation -->
        </div>
    </div><!-- #content -->
<?php get_footer(); ?>
1
Subharanjan