Comment obtenir une image à afficher dans un template WordPress avec boucle ?
Je crée des pages dans WordPress qui affichent tous les articles avec une balise identique au titre de la page (tous les articles ‘chien’ pour une page nommée ‘chiens’ par exemple. Le but est de pouvoir créer rapidement des pages de catégorie.
Le code que j’ai ci-dessous affiche avec succès le titre et le texte du message, mais je souhaite également afficher une image pour chaque message (si le message contient des images). 2 question…
-Comment afficher une image par post avec wordpress ?
-Comment mettre en uvre ce qui précède à côté du texte dans une boucle ?
<?php
/**
* Template Name: Category Page Template
* Description: A Page Template for Categories
*/
get_header(); ?>
<div id="primary">
<div id="content" role="main">
<?php $catname = wp_title('', false); ?>
<?php query_posts("category_name=$catname&showposts=3"); ?>
<?php $posts = get_posts("category_name=$catname&numberposts=3&offset=0");
foreach ($posts as $post) : include(loop.php);?>
<?php the_title(); ?>
<?php the_excerpt(); ?>
<?php endforeach; ?>
</div><!-- #content -->
</div><!-- #primary -->
<?php get_footer(); ?>
Solution n°1 trouvée
1 pour obtenir l’image pour le poste se référer à ceci, appelez :
wp_get_attachment_image($attachment_id, $size, $icon, $attr)
2.pour mettre du texte dans une boucle, faites quelque chose comme :
<?php
query_posts("category_name=$catname&posts_per_page=3");
while ( have_posts() ) : the_post();
the_title();
the_excerpt();
endwhile;
wp_reset_query();
?>
Solution n°2 trouvée
ajouter
add_theme_support('post_thumbnails');
add_image_size('homepage-thumbnail',300, 200, true);
à votre functions.php, vous pouvez également définir la taille des images en même temps, regardez dans set_post_thumbail_size() et add_image_size() pour le faire
et dans votre boucle ajoutez quelque chose comme
if (has_post_thumbnail()){
the_post_thumbnail('homepage-thumbnail');
}
0 commentaire