WordPress : Comment obtenir la page d’image URL de la bonne manière?

Publié par Jean-Michel le

Je développe mon propre modèle de haut en bas, en chargeant toutes les pages de la page principale. Mon problème est qu’à la place des images n’apparaissent que les dernières à être chargées. Par exemple, si j’ai trois pages, chaque page avec une image différente, l’image qui apparaîtra est toujours l’image de la dernière page.

Je ne sais pas quel est le problème, j’ai vu des problèmes de cache, des problèmes avec les mêmes noms de variables et je n’arrive pas à le résoudre.

Vous pouvez voir comment puis-je faire cela:

<section id="about">
  <?php
    $about = get_page_by_title( 'About' );
    $thumb_id = get_post_thumbnail_id($about);
    $abouturl = wp_get_attachment_thumb_url($thumb_id);
  ?>
  <span><?php echo $about->post_title ?></span>
  <img src="<?php echo $abouturl ?>"/>
</section>
<section id="news">
  <ul>
    <?php
    $posts = get_posts(['cat' => get_cat_ID('News'), 'limit' => 3, 'order' => 'DESC']);
    foreach($posts as $post){
      setup_postdata($post);
      $thumb_id = get_post_thumbnail_id($post, 'news-image');
      $url = wp_get_attachment_thumb_url($thumb_id, '300, 300');
    ?>
    <li data-link="<?php the_permalink() ?>">
      <img src="<?php echo the_post_thumbnail_url(array(300, 150)); ?>"/>
      <span>
        <?php echo the_title(); ?>
      </span>
    </li>
    <?php
    wp_reset_postdata();
     }?>
  </ul>
</section>
<section id="contacts">
 <?php
    $contacts = get_page_by_title( 'Contacts' );
    $thumb_id = get_post_thumbnail_id($contacts);
    $contactsurl = wp_get_attachment_thumb_url($thumb_id);
  ?>
  <span><?php echo $contacts->post_title ?></span>
  <img src="<?php echo $contactsurl ?>"/>
</section>

Comment puis-je résoudre cela? Si vous avez besoin de plus d’informations, veuillez demander.

Merci

Solution n°1 trouvée

Je suppose que c’est parce que vous utilisez

echo the_post_thumbnail_url(array(300, 150));

à la place de

the_post_thumbnail_url(array(300, 150));

the_post_thumbnail_urlfait écho à la sortie pour vous.

Autre observation, le the_post_thumbnail_urlutilise les données de publication configurées à l’aide de setup_postdata, il n’y a donc pas besoin de ces deux lignes :

$thumb_id = get_post_thumbnail_id($post, 'news-image');
$url = wp_get_attachment_thumb_url($thumb_id, '300, 300');

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

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