the_date () no funciona

17

Estoy usando wordpress 3.2 y hice una publicación de consulta como esta:

<?php query_posts("posts_per_page=1post=type&page=post_parent=10");?>

Luego trato de hacerme eco de la fecha de esta publicación que he consultado de esta manera.

<?php echo the_date(); ?>

Me da el título de la publicación, el extracto y el enlace permanente, pero no la fecha. Cuál crees que es el problema. Estoy seguro de que es algo bastante embarazoso.

Aquí está el código en el archivo de mi plantilla para la página de video:

    <?php query_posts("posts_per_page=1post=type&page=post_parent=10");?>
    <h2>Recent Video</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">Watch Now</a></p>

Aquí trato de 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>Recent Video</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">Watch Now</a></p>
<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>

the_date () no funcionó, pero the_title () y otras funciones funcionaron. Por cierto, esto cambió mi consulta a the_post () que no es lo que estoy deseando. Quiero consultar el último video como lo hice arriba del bucle.

Por cierto, utilicé la función_date anteriormente en la página y funcionó. ¿Podría ser el problema? Aquí está antes del código con el que tuve un problema.

    

<div id="col75" class="firstcol">
    <iframe id="video" src="http://www.youtube.com/embed/videoseries?list=<?phpprintget_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>
    
pregunta zachdyer 17.05.2012 - 23:07

5 respuestas

46

Vea esta nota especial sobre el uso de 'the_date'

  

NOTA ESPECIAL: cuando hay varias publicaciones en una página publicada en   el mismo día, the_date () solo muestra la fecha de la primera publicación   (Es decir, la primera instancia de the_date ()). Repetir la fecha para   Publicaciones publicadas el mismo día, debes usar la etiqueta de plantilla.   the_time () o get_the_date () (desde 3.0) con un formato específico de fecha   cuerda. Use para agregar el   fecha establecida en la interfaz de administración.

  1. Estás usando query_posts que arruina a los globales
  2. Estás haciendo eco de una función que ya se imprime en el navegador

    • En realidad estás haciendo eso para todas las etiquetas de tu plantilla.
    • Cambie echo the_date(); a: echo get_the_date('F j, Y');
    • Elimine el eco de las etiquetas de plantilla que ya se imprimen en el navegador o use las funciones alternativas que devuelven el valor.
  3. Use un nuevo WP_Query o get_posts en lugar de query_posts

  4. Lee el Codex. Le indica cómo usar todas estas funciones y es muy útil :)

respondido por el Chris_O 17.05.2012 - 23:47
14

the_date() imprime la fecha solo si no se imprimió la misma fecha .
No, eso no es consistente con otras funciones similares. Pero así es cómo funcionó en el antecesor de WordPress b2 / cafelog , y la compatibilidad con versiones anteriores siempre supera la lógica … :)

Para imprimir la fecha, siempre use get_the_date()

<?php echo get_the_date(); ?>

o

<?php echo mysql2date( get_option( 'date_format' ), $post->post_date); ?>
    
respondido por el fuxia 17.05.2012 - 23:31
0

Creo que está destinado a ejecutarse dentro del while( have_posts() ) condicional:

while ( have_posts() ) : the_post();
    echo '<li>';
    the_date();
    echo '</li>';
endwhile;
    
respondido por el Kristian 17.05.2012 - 23:09
0

Es necesario inicializar el ciclo para que funcionen ciertas funciones. Todas estas funciones enumeran, en su página de códice, que no funcionarán correctamente fuera del bucle.

    
respondido por el mor7ifer 17.05.2012 - 23:21
-1
// This won't show date in all cases
the_date( 'F d, Y' );

// This will show date in all cases
the_time( 'F d, Y' );
    
respondido por el avi 24.06.2016 - 11:54

Lea otras preguntas en las etiquetas