Mostrare la miniatura solo sul primo post nel loop?
25 mar 2011, 09:46:52
Visualizzazioni: 17.3K
Voti: 3
Qual è il modo migliore per usare <?php the_post_thumbnail();?>
nel mio loop MA mostrare la miniatura solo sul PRIMO post? Cioè, solo il primo post nel loop avrà la sua immagine visualizzata?
Ecco un esempio di loop che mostra l'immagine per TUTTI i post:
<!-- Inizia il Loop. -->
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- Visualizza il Titolo come link al permalink del Post. -->
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Link permanente a <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<!-- Visualizza la miniatura dell'immagine del post -->
<?php the_post_thumbnail();?>
<!-- Visualizza la data e un link ad altri post dello stesso autore. -->
<small><?php the_time('F jS, Y') ?> di <?php the_author_posts_link() ?></small>
<!-- Visualizza il Contenuto del Post in un div. -->
<div class="entry">
<?php the_content(); ?>
</div>
Grazie!

OneFishTaco
175
Tutte le risposte alla domanda
4
1
- aggiungi una variabile prima del ciclo (prima del while), ad esempio $first = true;
- aggiungi un controllo all'interno del ciclo per questa variabile
- dopo l'uso, modifica il flag
Codice:
<!-- Inizia il Loop. -->
<?php $first = true; ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- Mostra il Titolo come link al permalink del Post. -->
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Link Permanente a <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<!-- Mostra l'immagine in miniatura del post -->
<?php if ( $first ): ?>
<?php the_post_thumbnail();?>
<?php $first = false; ?>
<?php endif; ?>
<!-- Mostra la data e un link agli altri post di questo autore. -->
<small><?php the_time('F jS, Y') ?> di <?php the_author_posts_link() ?></small>
<!-- Mostra il Contenuto del Post in un div box. -->
<div class="entry">
<?php the_content(); ?>
</div>

petermolnar
1K
25 mar 2011 10:05:53
1
Questo è ciò che utilizzo nei miei progetti e funziona bene per me. Ho modificato il codice che hai fornito per adattarlo. Basta inserirlo e mostrerà la miniatura del post solo per il primo articolo.
<!-- Inizia il Loop. -->
<?php $i = 1 ; ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- Mostra il Titolo come link al permalink del Post. -->
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Link permanente a <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<?php if ($i == 1): ?>
<!-- Mostra la miniatura dell'immagine del post -->
<?php the_post_thumbnail();?>
<?php endif; ?>
<!-- Mostra la data e un link agli altri post dello stesso autore. -->
<small><?php the_time('j F Y') ?> di <?php the_author_posts_link() ?></small>
<!-- Mostra il Contenuto del Post in un box div. -->
<div class="entry">
<?php the_content(); ?>
</div>
<?php $i++; endwhile; endif; ?>

Dwayne Charrington
3.7K
25 mar 2011 13:00:41
Domande correlate