WordPress : Comment obtenir la première image du message précédent

Publié par Jean-Michel le

J’utilise actuellement ce code pour obtenir le lien et la vignette du message précédent et suivant

       <?php $prevPost = get_previous_post(true);
            if($prevPost) {?>
            <div class="nav-box previous" style="float:left;">
            <?php $prevthumbnail = catch_that_image($prevPost->ID, array(100,100) );}?>
            <?php previous_post_link('%link',"$prevthumbnail  %title", TRUE); ?>
            </div>

        <?php $nextPost = get_next_post(true);
            if($nextPost) { ?>
        <div class="nav-box next" style="float:right;">
            <?php $nextthumbnail = catch_that_image($nextPost->ID, array(100,100) ); } ?>
            <?php next_post_link('%link',"$nextthumbnail  %title", TRUE); ?>
            </div>

Mais je veux obtenir la première image du message sous forme de vignette, au lieu de l’image en vedette.

J’ai trouvé ce code qui récupère la première image du post actuel mais comment puis-je l’utiliser avec le code ci-dessus pour obtenir la première image du post précédent ou du post suivant ?

function catch_that_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=['"]([^'"]+)['"].*>/i', $post->post_content, $matches);
$first_img = $matches [1] [0];
return $first_img;
}

Solution n°1 trouvée

J’ai utilisé ce code pour un type de message personnalisé, cela fonctionnera pour vous en faisant quelques modifications :

<div class="memberNavigation">
  <div class="memberNav">
    <?php // Display the thumbnail of the previous post ?>
    <div class="memberNavPrev">
      <?php
                $prevPost = get_previous_post();
                $prevthumbnail = get_the_post_thumbnail($prevPost->ID);
                $prevtitle = get_the_title($prevPost->ID); ?>
      <p class="navtitle">
        <?php previous_post_link('%link', 'Previous Board Member'); ?>
      </p>
      <?php previous_post_link('%link', $prevthumbnail); ?>
      <h5 class="memberTitle">
        <?php previous_post_link('%link', $prevtitle); ?>
      </h5>
    </div>
    <?php // Display the thumbnail of the next post ?>
    <div class="memberNavNext">
      <?php
                $nextPost = get_next_post();
                $nextthumbnail = get_the_post_thumbnail($nextPost->ID);
                $nexttitle = get_the_title($nextPost->ID); ?>
      <p class="navtitle">
        <?php next_post_link('%link', 'Next Board Member'); ?>
      </p>
      <?php next_post_link('%link', $nextthumbnail); ?>
      <h5 class="memberTitle">
        <?php previous_post_link('%link', $nexttitle); ?>
      </h5>
    </div>
    <div class="clearfix"></div>
  </div>
</div>
Catégories : Wordpress

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *