web-dev-qa-db-fra.com

Comment obtenir une date pour chaque poste?

J'utilise ce qui suit pour obtenir la date de chaque message:

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

Cependant, je ne reçois que la date du premier message, pourquoi?

10
user1692333

J'ai rencontré le même problème plusieurs fois, à la suite de changements qui ont fonctionné pour moi dans le passé:

while (have_posts()) : the_post();
//some 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>

Au lieu de the_date(), utilisez get_the_date().
La seule chose à prendre en compte est que les valeurs renvoyées par get_the_date() doivent être répercutées.

En regardant la page du Codex il y a un remarque spéciale à propos de the_date().

Quand il y a plusieurs publications sur une page publiée sous SAME DAY, the_date () affiche uniquement la date de la première publication (c'est-à-dire, la première instance de the_date ()). Pour répéter la date des publications publiées le même jour, vous devez utiliser les balises de modèle the_time () ou get_the_date () (depuis la version 3.0) avec une chaîne de format spécifique à la date.

De même, si vous souhaitez contrôler le format dans lequel get_the_date() est renvoyé dans Admin, vous pouvez utiliser get_option('date_format'). De cette façon, si vous modifiez le format de la date dans l’administrateur, ces modifications seront également apportées à votre code.

while (have_posts()) : the_post();
//some 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>
20
Mike Madern

Quand il y a plusieurs articles sur une page publiée sous SAME DAY, the_date () affiche uniquement la date du premier article (c'est-à-dire, la première instance de the_date ()) . Pour répéter la date des publications publiées le même jour, vous devez utiliser la balise de modèle the_time () _ ou get_the_date () (depuis la version 3.0) avec un format spécifique à la date chaîne . Utilisez pour ajouter la date définie dans l'interface d'administration.

Pour plus d'informations, visitez cette page .

Donc, selon la référence codex wordpress, le code correct sera le suivant:

while (have_posts()) : the_post();
//some 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>
0
Vinod Dalvi