the_date() non funziona
Sto usando WordPress 3.2 e ho fatto una query post in questo modo:
<?php query_posts("posts_per_page=1post=type&page=post_parent=10");?>
Poi ho provato a visualizzare la data del post che ho interrogato in questo modo.
<?php echo the_date(); ?>
Mi mostra il titolo del post, l'excerpt e il permalink ma nessuna data. Quale pensi sia il problema? Sono sicuro che sia qualcosa di abbastanza imbarazzante.
Ecco il codice nel mio file template per la pagina video:
<?php query_posts("posts_per_page=1post=type&page=post_parent=10");?>
<h2>Video Recente</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">Guarda Ora</a></p>
Qui ho provato a mettere la query in un loop:
<?php query_posts("posts_per_page=1post=type&page=post_parent=10");?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h2>Video Recente</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">Guarda Ora</a></p>
<?php endwhile; else: ?>
<p><?php _e('Spiacenti, nessun post corrisponde ai tuoi criteri.'); ?></p>
<?php endif; ?>
the_date() non ha funzionato ma the_title() e altre funzioni hanno funzionato. A proposito, questo ha cambiato la mia query in the_post() che non è quello che voglio. Voglio interrogare l'ultimo video come ho fatto sopra il loop.
A proposito, ho usato la funzione the_date prima nella pagina e ha funzionato. Potrebbe essere questo il problema? Ecco il codice prima di quello con cui ho avuto problemi.
<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>
Vedi questa nota speciale sull'uso di `the_date'
NOTA SPECIALE: Quando ci sono più articoli nella stessa pagina pubblicati nello STESSO GIORNO, the_date() mostra la data solo per il primo articolo (cioè la prima istanza di the_date()). Per ripetere la data per gli articoli pubblicati nello stesso giorno, dovresti usare il Tag Template the_time() o get_the_date() (dalla versione 3.0) con una stringa di formato specifica per la data. Usa per aggiungere la data impostata nell'interfaccia di amministrazione.
- Stai usando
query_posts
che altera i globali Stai facendo echo di una funzione che già stampa nel browser
- In realtà lo stai facendo per tutti i tuoi template tag.
- Cambia
echo the_date();
in:echo get_the_date('F j, Y');
- Rimuovi l'echo dai tuoi template tag che già stampano nel browser oppure usa le funzioni alternative che restituiscono il valore.
Usa un nuovo
WP_Query
oget_posts
invece diquery_posts
Leggi il Codex. Ti spiega come usare tutte queste funzioni ed è molto utile :)

get_the_date() ha risolto il mio problema ma ora il get_the_date() nel mio sidebar.php non funziona.

the_date()
stampa la data solo se la stessa data non è stata già stampata precedentemente.
No, questo comportamento non è coerente con altre funzioni simili. Ma è così come funzionava nell'antenato di WordPress b2/cafelog, e la compatibilità con le versioni precedenti ha sempre la precedenza sulla logica... :)
Per stampare sempre la data utilizza get_the_date()
<?php echo get_the_date(); ?>
oppure
<?php echo mysql2date( get_option( 'date_format' ), $post->post_date); ?>

NOOOOOOOOOOOOOOOOOOOO. Ora la mia barra laterale get_the_date è rotta. Cosa è successo?

Vedi la risposta di Cris_O e non usare query_posts()
. :)
