Comment creer un page archive avec un affichage compartimente ? (Créer un compte)

  • Statut : non résolu
3 sujets de 1 à 3 (sur un total de 3)
  • Auteur
    Messages
  • #510642
    Cedric C.
    Participant
    Maître WordPress
    612 contributions

    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

    #837242
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Ce 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 vignette

    As tu pensé à la pagination? si tu as plus de 5 articles, cela reviendra à afficher en grand une image d’article sur 5, etc…

    #837243
    Cedric C.
    Participant
    Maître WordPress
    612 contributions

    Voilà 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 :

    http://onirisweb.com/archives/

3 sujets de 1 à 3 (sur un total de 3)
  • Le forum ‘Dépôts pour les extensions, trucs, astuces’ est fermé à de nouveaux sujets et réponses.