WordPress : Comment obtenir la page d’image URL de la bonne manière?
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_url
fait écho à la sortie pour vous.
Autre observation, le the_post_thumbnail_url
utilise 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');
0 commentaire