Page 1 sur 1

N'afficher qu'une fois la date pour un ensemble de post

Posté : 20 janv. 2011, 18:31
par Invité
Bonjour à tous !

Voici mon problème : sur la page d'accueil de mon blog (wordpress), j'affiche les derniers articles publiés via la ligne :
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
Sachant que je n'affiche que le titre de chaque post (pour voir le contenu il faut rentrer dans l'article en question) on a donc sur cette page d'accueil une simple liste de liens (titre des post) les uns en dessous des autres. Je voudrais maintenant les classer par date de publication à la manière de cet exemple : http://www.secrets2moteurs.com/

J'ai essayer de rentrer un get_the_time() dans la boucle, mais à ce moment la il m'affiche une date pour chaque post, tandis que j'aimerai une seule date pour tous les post datant du même jour, comme dans l'exemple ci-dessus.

D'avance merci pour les infos !

Rom.

Re: N'afficher qu'une fois la date pour un ensemble de post

Posté : 20 janv. 2011, 18:35
par Invité
J'ai oublier de préciser mon site : http://webmark.romdev.fr/

On peut voir que les 2 premiers liens (test1 et test2) on chacun une date alors qu'ils ont été posté le même jour (ne pas tenir compte des autres liens).

Re: N'afficher qu'une fois la date pour un ensemble de post

Posté : 20 janv. 2011, 19:10
par xTG
Il faut utiliser un système d'ancienneté de la valeur.
Petit exemple :
$datePrecedente = "";
while(...)
{
  if( get_the_date() != $datePrecedente )
  {
    echo get_the_date();
    $datePrecedente = get_the_date();
  }
  // ...
}
Ainsi tu n'auras qu'une seule date à la fois pour la même date.

Re: N'afficher qu'une fois la date pour un ensemble de post

Posté : 20 janv. 2011, 19:30
par Invité
D'accord, donc je déclare l'affichage de la date dans cette boucle ?
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
ou faut il que j'aille directement modifier la fonction the_post(); ?

Re: N'afficher qu'une fois la date pour un ensemble de post

Posté : 20 janv. 2011, 20:55
par Castor Gaspard
Bonsoir,

WordPress repose certes sur Php mais utilise des fonctions particulières, qui sont difficiles à transposer en Php "pur".

Le forum francophone de WordPress peut t'aider efficacement, ainsi que le Codex.

Ceci posé, comme je connais plutôt ce Cms, j'ai regardé si je ne voyais pas une solution à ta question. Je pense que cet article peut répondre à ton problème :
http://www.devlounge.net/code/wordpress ... n-listings

Cordialement,

Gaspard

Re: N'afficher qu'une fois la date pour un ensemble de post

Posté : 20 janv. 2011, 21:13
par Invité
Okey ça marche, il suffit en fait de déclarer la date avec the_date et non the_time, je suis fou que ce soit aussi simple, mais content quand même :)

Merci beaucoup !

Re: N'afficher qu'une fois la date pour un ensemble de post

Posté : 20 janv. 2011, 23:00
par Invité
D'ailleurs pour infos j'ai testé ceci (qui marche) :
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
Je comprend pas trop comment les ":" marchent dans une fonction php, perso j'ai appris avec les "{" et "}"

Du coup si je veux placer du html dans tout ça, par exemple afficher les liens sous forme de liste, j'ai essayer ceci :
<ul>
<li>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
</ul>
</li>

Seulement ça me créer une liste sur les dates et non les liens :/

Re: N'afficher qu'une fois la date pour un ensemble de post

Posté : 20 janv. 2011, 23:02
par Invité
Houla désolé je refais (pas moyen d'éditer ses posts ?)

Voici ce que j'ai testé :
<ul>
<li>
<?php if (have_posts()) : while (have_posts()) : the_post(); the_date(); ?>
</ul>
</li>

Re: N'afficher qu'une fois la date pour un ensemble de post

Posté : 20 janv. 2011, 23:27
par moogli
tu ne peut pas éditer parce que tu n'est pas inscrit ou pas connecté ;)