¿Cómo obtener la fecha para cada entrada?

11 mar 2013, 13:57:40
Vistas: 160K
Votos: 13

Estoy usando lo siguiente para obtener la fecha de cada entrada:

while (have_posts()) : the_post();
//algo de html
<li class="icon-date"><?php the_date('Y-m-d');?></li>
<li class="icon-time"><?php the_date('H:i:s');?></li>

Sin embargo, solo estoy obteniendo la fecha para la primera entrada, ¿por qué sucede esto?

0
Todas las respuestas a la pregunta 2
0
28

Me he encontrado con el mismo problema varias veces, los siguientes cambios me funcionaron en el pasado:

while (have_posts()) : the_post();
// algo de html
<li class="icon-date"><?php echo get_the_date( 'Y-m-d' ); ?></li>
<li class="icon-time"><?php the_time( 'H:i:s' ); ?></li>

En lugar de the_date(), usa get_the_date().
Lo único que hay que tener en cuenta es que los valores devueltos por get_the_date() deben mostrarse con echo.

Si revisas la página del Codex hay una nota especial sobre the_date().

Cuando hay múltiples publicaciones en una página publicadas el MISMO DÍA, the_date() solo muestra la fecha para la primera publicación (es decir, la primera instancia de the_date()). Para repetir la fecha para publicaciones publicadas el mismo día, deberías usar la etiqueta de plantilla the_time() o get_the_date() (desde la versión 3.0) con una cadena de formato de fecha específica.

Además, si quieres controlar el formato en que se devuelve get_the_date() en el Admin, puedes usar get_option('date_format'). De esta manera, si cambias el formato de fecha en el Admin, estos cambios también se reflejarán en tu código.

while (have_posts()) : the_post();
// algo de html
<li class="icon-date"><?php echo get_the_date( get_option('date_format') ); ?></li>
<li class="icon-time"><?php the_time( 'H:i:s' ); ?></li>
11 mar 2013 14:03:34
0

Cuando hay múltiples publicaciones en una página publicadas el MISMO DÍA, the_date() solo muestra la fecha para la primera publicación (es decir, la primera instancia de the_date()). Para repetir la fecha de las publicaciones del mismo día, debes usar la Etiqueta de Plantilla the_time() o get_the_date() (desde la versión 3.0) con un formato de cadena específico para fechas. Usa para añadir la fecha establecida en la interfaz de administración.

Para más información visita esta página.

Según la referencia del codex de WordPress, el código correcto sería el siguiente:

while (have_posts()) : the_post();
//algún html
<li class="icon-date"><?php echo get_the_date('Y-m-d');?></li>
<li class="icon-time"><?php the_time('H:i:s');?></li>
11 mar 2013 14:04:20