Mostrar miniatura solo en el primer post del loop
25 mar 2011, 09:46:52
Vistas: 17.3K
Votos: 3
¿Cuál es la mejor manera de usar <?php the_post_thumbnail();?>
en mi loop PERO mostrar la miniatura solo en el PRIMER post? Es decir, ¿solo el primer post del loop mostrará su imagen?
Aquí hay un ejemplo de un loop que muestra la imagen para TODOS los posts:
<!-- Inicia el Loop. -->
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- Muestra el Título como enlace al permalink del Post. -->
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Enlace permanente a <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<!-- Muestra la miniatura de la imagen del post -->
<?php the_post_thumbnail();?>
<!-- Muestra la fecha y un enlace a otros posts del autor. -->
<small><?php the_time('F jS, Y') ?> por <?php the_author_posts_link() ?></small>
<!-- Muestra el Contenido del Post en un div. -->
<div class="entry">
<?php the_content(); ?>
</div>
¡Gracias!

OneFishTaco
175
Todas las respuestas a la pregunta
4
1
- agregar una variable antes del bucle (antes del while), por ejemplo $primero = true;
- agregar una verificación dentro del bucle para esta variable
- después de usarla, cambiar el flag
Código:
<!-- Comienza el Loop. -->
<?php $primero = true; ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- Muestra el Título como un enlace al permalink del Post. -->
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Enlace permanente a <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<!-- Muestra la miniatura de la imagen del post -->
<?php if ( $primero ): ?>
<?php the_post_thumbnail();?>
<?php $primero = false; ?>
<?php endif; ?>
<!-- Muestra la fecha y un enlace a otros posts de este autor. -->
<small><?php the_time('F jS, Y') ?> por <?php the_author_posts_link() ?></small>
<!-- Muestra el Contenido del Post en un div. -->
<div class="entry">
<?php the_content(); ?>
</div>

petermolnar
1K
25 mar 2011 10:05:53
1
Esto es lo que utilizo en mis proyectos y me funciona bien. Modifiqué el código que proporcionaste para adaptarlo. Simplemente incorpóralo y mostrará la miniatura de la entrada solo para la primera publicación.
<!-- Comienza el Loop. -->
<?php $i = 1 ; ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- Muestra el Título como un enlace al permalink de la Entrada. -->
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Enlace permanente a <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<?php if ($i == 1): ?>
<!-- Muestra la miniatura de imagen de la entrada -->
<?php the_post_thumbnail();?>
<?php endif; ?>
<!-- Muestra la fecha y un enlace a otras entradas del mismo autor. -->
<small><?php the_time('j \d\e F \d\e Y') ?> por <?php the_author_posts_link() ?></small>
<!-- Muestra el Contenido de la Entrada en un div. -->
<div class="entry">
<?php the_content(); ?>
</div>
<?php $i++; endwhile; endif; ?>

Dwayne Charrington
3.7K
25 mar 2011 13:00:41
Preguntas relacionadas
2
respuestas
1
respuestas