Question

the image is worth a thousand words. take a look at it.

vous savez comment Craigslist a organisé messages par date ..ex

Tue 3

afficher des liens pour mardi

Wed 4

poster des liens pour marier

Thurs 5

poster des liens pour jeu.

Je sais messages wordpress sont classés par date par défaut. regarde ça text alt des idées? BTW si cela n'a pas de sens me le faire savoir. tx

Était-ce utile?

La solution

Vous remarquerez peut-être que je l'ai fait plus ou moins exactement cela pour le site de Matt: http://ma.tt . Chaque série de messages sont regroupés par jour. Le principe de base est de garder une trace de votre journée dans la boucle, puis imprimer la date et d'autres choses connexes seulement quand il change.

Prenez une boucle de base:

if ( have_posts() ) : while ( have_posts() ) : the_post();
  the_title();
  the_content();
endwhile; endif;

Ce imprime pour tout simplement dans la boucle de courant le titre et le contenu (sans formatage ou quoi que ce soit). Maintenant, vous voulez faire apparaître une nouvelle date chaque fois que la date change. Donc, vous devez garder une trace de quand il change. Comme ceci:

$loopday = '';
if ( have_posts() ) : while ( have_posts() ) : the_post();
  if ($loopday !== get_the_time('D M j')) {
    $loopday = get_the_time('D M j');
    echo $loopday;
  }
  the_title();
  the_content();
endwhile; endif;

Qu'est-ce que ce fait est de stocker la date à laquelle vous êtes désireux de sortie dans une variable. Chaque passage dans la boucle, il obtient à nouveau et il vérifie si elle a changé. Si elle n'a pas changé, rien ne se passe. Si elle a changé, il définit la variable avec la nouvelle chaîne de date, les sorties, puis se déplace sur.

Il est évident que cela est juste un exemple. Les détails spécifiques dépendent de la façon dont fonctionne votre boucle existantes et la façon dont vous voulez afficher les informations.

Il est vrai que the_date () Est-ce que par défaut, il est parfois plus facile de le faire vous-même de cette manière, pour le formatage des raisons.

Autres conseils

Comme @goldenapples noté, si votre modèle utilise la the_date (); étiquette de modèle, il va le faire tout seul, comme valeur par défaut. Je me souviens avoir confondu la première fois je WordPress et je ne pouvais pas comprendre comment l'obtenir pour arrêter le faire.

Avez-vous testé déjà et ce n'est pas le résultat que vous obtenez? Il peut être simplement une question de changer les balises de votre modèle utilise.

Vive.

UPDATE mis à jour selon les notes dans les commentaires Voici, mettre cela au lieu de la boucle     

  if (have_posts()) : while (have_posts()) : the_post(); 
        if($day_check = ''){ $day_check = $post->date}
        if ($day_check = $post->date){
            if (!$day_echod){
                echo '<div class="date">'.the_date().'</div>';
                $day_echod = true;
            }
        }else{
            $day_check = the_date();
            echo '<div class="date">'.the_date().'</div>';
        }
            ?>
            <div class="title_link">
                <a href="<?php the_permalink(); ?>"><?php the_title() ;?></a>
            </div>
            <?php           

               <?php endwhile; ?>
     <?php endif; ?>

get_the_date () ou get_the_time () Les appels sont les résultats surcharger. Il suffit d'utiliser the_date (), qui n'imprimera la date une fois par jour de messages par défaut.

Voir l'article du Codex sur ce sujet:

http://codex.wordpress.org/Function_Reference/the_date

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top