the_date() no funciona
Estoy usando WordPress 3.2 y realicé una consulta de entradas así:
<?php query_posts("posts_per_page=1post=type&page=post_parent=10");?>
Luego intento mostrar la fecha de esta entrada consultada así:
<?php echo the_date(); ?>
Me muestra el título de la entrada, el extracto y el enlace permanente pero no la fecha. ¿Cuál creen que es el problema? Estoy seguro de que es algo bastante simple.
Aquí está el código en mi archivo de plantilla para la página de video:
<?php query_posts("posts_per_page=1post=type&page=post_parent=10");?>
<h2>Video Reciente</h2>
<h3 class="date"><?php echo the_date(); ?></h3>
<p><strong><?php echo the_title(); ?></strong><?php echo the_excerpt(); ?></p>
<p><a href="<?php echo the_permalink(); ?>" class="more2">Ver Ahora</a></p>
Aquí intento poner la consulta en un bucle:
<?php query_posts("posts_per_page=1post=type&page=post_parent=10");?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h2>Video Reciente</h2>
<h3 class="date"><?php echo the_date(); ?></h3>
<p><strong><?php echo the_title(); ?></strong><?php echo the_excerpt(); ?></p>
<p><a href="<?php echo the_permalink(); ?>" class="more2">Ver Ahora</a></p>
<?php endwhile; else: ?>
<p><?php _e('Lo siento, ninguna entrada coincide con tus criterios.'); ?></p>
<?php endif; ?>
the_date() no funcionó pero the_title() y otras funciones sí. Por cierto, esto cambió mi consulta a the_post() que no es lo que quiero. Quiero consultar el último video como lo hice arriba.
Por cierto, usé la función the_date() antes en la página y funcionó. ¿Podría ser ese el problema? Aquí está antes del código que me dio problemas:
<div id="col75" class="firstcol">
<iframe id="video" src="http://www.youtube.com/embed/videoseries?list=<?php print get_post_meta($post->ID,"playlist_id", true); ?>" width='560' height='350' frameborder="0"></iframe>
<div id="col25">
<h2><?php echo get_post_meta($post->ID,"speaker", true); ?></h2>
<h3 class="date"><?php echo the_date(); ?></h3>
Consulta esta nota especial sobre el uso de `the_date`
NOTA ESPECIAL: Cuando hay múltiples publicaciones en una página publicadas el MISMO DÍA, the_date() solo muestra la fecha de la primera publicación (es decir, la primera instancia de the_date()). Para repetir la fecha en 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 específica para fechas. Usa para añadir la fecha configurada en la interfaz de administración.
- Estás usando
query_posts
lo cual altera los globales Estás haciendo echo de una función que ya imprime en el navegador
- De hecho, lo estás haciendo con todas tus etiquetas de plantilla.
- Cambia
echo the_date();
por:echo get_the_date('F j, Y');
- Elimina el echo de tus etiquetas de plantilla que ya imprimen en el navegador o usa las funciones alternativas que devuelven el valor.
Usa una nueva
WP_Query
oget_posts
en lugar dequery_posts
Lee el Codex. Te explica cómo usar todas estas funciones y es de gran ayuda :)

get_the_date() resolvió mi problema pero ahora mi sidebar.php get_the_date() está fallando.

the_date()
imprime la fecha solo si la misma fecha no se había impreso antes.
No, esto no es consistente con otras funciones similares. Pero así funcionaba en el ancestro de WordPress, b2/cafelog, y la compatibilidad con versiones anteriores siempre prevalece sobre la lógica... :)
Para imprimir la fecha siempre usa get_the_date()
<?php echo get_the_date(); ?>
o
<?php echo mysql2date( get_option( 'date_format' ), $post->post_date); ?>

NOOOOOOOOOOOOOOOOOOOO. Ahora mi barra lateral get_the_date está rota. ¿Qué pasó ahí?

Mira la respuesta de Cris_O y no uses query_posts()
. :)
