- Statut : non résolu
- Ce sujet contient 2 réponses, 2 participants et a été mis à jour pour la dernière fois par Cedric C., le il y a 12 années et 4 mois.
-
AuteurMessages
-
8 juin 2012 à 18 h 33 min #510642
Bonjour,
En fait je recherche à créer une page d’archives dont le contenu ne serait pas uniformisé comme pour les pages d’archives typiques.
Ce que je veux c’est pouvoir afficher les articles (total 5 par page ) par date de parution dont le premier aurait une image prenant toute la largeur de la page, le second avec un texte et image côte à côte, et les trois suivants ne montrant qu’une image rattachée à l’article.
Le tout agrémenté de liens de navigation il va sans dire ( sinon ça ne serait pas marrant 🙂 ).
Est-ce réalisable ?
Si oui comment ? Je ne cherche pas forcément tout le code mais juste une idée de structure…j’imagine que c’est à base de query_posts ().
Peut-être que d’autres s’y sont déjà essayes ? Voire même un plugin ? Je prends même du premium s’il le faut !
Merci pour votre aide
8 juin 2012 à 19 h 17 min #837242Ce n’est pas trop différent des archives classiques.
En effet, query_posts te permettra de limiter à 5 articles et de choisir l’ordre de tri.
Pour l’affichage, tu incrémentes un compteur dans ta boucle
– si ( compteur == 1) => grande image
– si ( compteur == 2) => image moyenne + texte
– sinon affichage vignetteAs tu pensé à la pagination? si tu as plus de 5 articles, cela reviendra à afficher en grand une image d’article sur 5, etc…
18 juin 2012 à 5 h 11 min #837243Voilà qui est fait :
‘post’,
‘post_state’ => ‘publish’,
‘orderby’ => ‘date’,
‘order’ => ‘DESC’,
‘offset’ => $offset,
‘posts_per_page’ => 5,
);
query_posts($args);
if (have_posts()) {
$i = 1;
echo ‘
<div class="archives-post-blog">‘;
while (have_posts()) {
the_post();
if ($i == 1) {
echo ‘
<div class="archives-post-article lastest-first-post-image">‘;
the_post_thumbnail();
echo ‘
</div>‘;
} else if ($i == 2) {
echo ‘
<div class="archives-post-article lastest-seconde-post-image">‘;
the_excerpt();
the_post_thumbnail(‘medium’);
echo ‘
</div>‘;
} else {
if ($i == 3) {
echo ‘
<div class="archives-post-article lastest-slide-post-image">
‘ . ($offset > 0 ?
‘<a>0?$offset-5:0) . ‘ » class= »archives-postlink-left » ><img src="' . get_bloginfo('template_url') . '/images/prev.png" /></a>‘ :
‘<img src="' . get_bloginfo('template_url') . '/images/prev_disable.png" class="archives-postlink-left" />‘);
}
echo ‘
<div class="thumbnail">
<a href="' . $current_page_permalink . '?offset='.($offset+$i-1).'">‘;
the_post_thumbnail(‘thumbnail’);
echo ‘
</a>
</div>‘;
}
$i++;
}
$next_img = ‘next.png’;
$href_url = $current_page_permalink . ‘?offset=’ . ($offset + 5);
if($i<4){
$i =3;
echo '
<div class="archives-post-article lastest-slide-post-image">
<a>0?$offset-5:0) . ‘ » class= »archives-postlink-left » ><img src="' . get_bloginfo('template_url') . '/images/prev.png" /></a>‘;
}
for(; $i<6; $i++){
$next_img = 'next_disable.png';
$href_url = "#";
echo '<div class="thumbnail"></div>‘;
}
echo ‘
<a href="' . $href_url . '" class="archives-postlink-right">
<img src="' . get_bloginfo('template_url') . '/images/'.$next_img.'" />
</a>
</div>‘;
echo ‘
</div>‘;
}
?>Et pour le lien de demo ça donne ça :
-
AuteurMessages
- Le forum ‘Dépôts pour les extensions, trucs, astuces’ est fermé à de nouveaux sujets et réponses.