Bonjour à tous!
Voici mon problème, j'ai adapté l'affichage des news pour ma page d'accueil wordpress, en voulant afficher "l'image à la une" en tant que fond pour chaque article affichée. Pour ce faire dans mon template j'ai codé ceci:
content.php
<div style="background: url( <?php
if ( has_post_thumbnail()) {
$large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'large');
echo $large_image_url[0];
}
?>) no-repeat;" class="news">
<div class="textn">
<h1><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'toolbox' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h1>
<?php if ( 'post' == get_post_type() ) : ?>
<?php toolbox_posted_on(); ?>
<?php endif; ?>
</div>
Seulement quand j'affiche mes news, seul le premier article affiche "l'image à la une", je ne vois pas le problème, et je suis un peu faible niveau php, le design étant plus mon domaine :/
Voici le code de la page index.php:
<?php if ( have_posts() ) : ?>
<?php toolbox_content_nav( 'nav-above' ); ?>
<?php /* Start the Loop */ ?>
<?php query_posts('category_name=news&showposts=3'); ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php
/* Include the Post-Format-specific template for the content.
* If you want to overload this in a child theme then include a file
* called content- ___.php (where___ is the Post Format name) and that will be used instead.
*/
get_template_part( 'content', get_post_format() );
?>
<?php endwhile; ?>
Pour finir une illustration:
Merci pour ta réponse:
Voici ce que j'ai fait, après avoir lu la doc. Merci pour tout ;)
?php
$postid = get_the_ID();
if (has_post_thumbnail($postid)) {
$large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id($postid), 'large');
echo $large_image_url[0];
}
?>
Oui, j'ai regardé, et on dirait que la boucle n'opère pas en fait vu qu'on remarque ceci dans le code html:
<div style="background: url( http://localhost/wordpress/wp-content/uploads/2011/11/Sans-titre-4.jpg) no-repeat;" class="news">
<div class="textn">
<h1><a href="http://localhost/wordpress/?p=1405" title="Permalink to Un titre d’article" rel="bookmark">Un titre d’article</a></h1>
<span class="sep">Posted on </span><a href="http://localhost/wordpress/?p=1405" title="22 h 52 min" rel="bookmark"><time class="entry-date" datetime="2011-11-06T22:52:45+00:00" pubdate>6 novembre 2011</time></a><span class="byline"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="http://localhost/wordpress/?author=1" title="View all posts by admin" rel="author">admin</a></span></span>
</div>
<!-- #post-1405 -->
</div>
<div style="background: url( ) no-repeat;" class="news">
<div class="textn">
<h1><a href="http://localhost/wordpress/?p=1381" title="Permalink to Les quinze ans de Tomb Raider!" rel="bookmark">Les quinze ans de Tomb Raider!</a></h1>
<span class="sep">Posted on </span><a href="http://localhost/wordpress/?p=1381" title="18 h 41 min" rel="bookmark"><time class="entry-date" datetime="2011-10-04T18:41:14+00:00" pubdate>4 octobre 2011</time></a><span class="byline"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="http://localhost/wordpress/?author=1" title="View all posts by admin" rel="author">admin</a></span></span>
</div>
<!-- #post-1381 -->
</div>
<div style="background: url( ) no-repeat;" class="news">
<div class="textn">
<h1><a href="http://localhost/wordpress/?p=1359" title="Permalink to Remportez un code de téléchargement pour Tomb Raider 2 sur le PSN" rel="bookmark">Remportez un code de téléchargement pour Tomb Raider 2 sur le PSN</a></h1>
<span class="sep">Posted on </span><a href="http://localhost/wordpress/?p=1359" title="19 h 45 min" rel="bookmark"><time class="entry-date" datetime="2011-09-30T19:45:16+00:00" pubdate>30 septembre 2011</time></a><span class="byline"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="http://localhost/wordpress/?author=1" title="View all posts by admin" rel="author">admin</a></span></span>
</div>
<!-- #post-1359 -->
</div>
Jpense avoir vu ce qui cloche, has_post_thumbnail attend en paramètre l'ID du post tu devrait faire has_post_thumbnail(get_the_ID())
J'ai essayé selon tes conseils:
<?php
if (has_post_thumbnail(get_the_ID())) {
$large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'large');
echo $large_image_url[0];
}
?>
Mais ça ne change rien :/