Bonjour, je cherhe à créer une page sur mon site Wordpress qui contiendrait les 4 derniers articles en entiers de façon simple, avec le header au début et le footer à la fin (normal).
J'ai une page d'accueil sur laquelle s'affiche ces même articles avec juste une petite vignette et 2 lignes de texte. Cette page d'accueil fonctionne très bien. Voici son code :

<?php get_header(); ?>
<h1 class="titre">Bienvenue dans votre chateau</h1>
<div class="corps">
<div class="left">
<div class="left-intro">
<h3 class="left-intro-titre">Petit texte d’introduction</h3>
Hoc inmaturo interitu ipse quoque sui pertaesus excessit e vita aetatis nono anno atque vicensimo cum quadriennio imperasset. natus apud Tuscos in Massa Veternensi, patre Constantio Constantini fratre imperatoris, matreque Galla sorore Rufini et Cerealis, quos trabeae consulares nobilitarunt et praefecturae.
</div>
<?php if(have_posts()): while(have_posts()): the_post(); ?>
<div class="left-post">
<hr>
<h2 class="left-post-title"><?php the_title(); ?></h2>
<div class="left-post-content">
<div class="left-post-thumb"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a></div>
<div class="left-post-txt">
<?php the_content('lire l’article'); ?>
</div>
</div>
</div>
<?php endwhile; endif; ?>
</div><!-- end left -->
<div class="right">
<h2 class="right-title">Calendrier</h2>
<div class="right-ateliers">
<h3 class="left-intro-titre">Lou Yong</h3><span class="dates">Vendredi 20 février</span><br><span class="dates">Vendredi 27 février</span></div><div class="right-ateliers"><h3 class="left-intro-titre">Atelier «Eveil des Sens et de l’Imaginaire»</h3><span class="dates">Mardi 15 mars</span><br><span class="dates">Mardi 15 mars</span></div>                <div class="right-ateliers"><h3 class="left-intro-titre">Conférence</h3>                        <span class="dates">14 avril 2015</span>
</div>
</div><!-- end right -->
<div class="cb"></div>
<div>&nbsp;</div>
</div><!-- fin corps --><?php get_footer(); ?>

Si je crée une page faisant appel à un template spécifique dans lequel je copie le code de la page d'accueil, je n'obtiens pas du tout le résultat désiré. Le code n'affiche pas du tout les articles. Je ne comprends pas du tout pourquoi !... voici le code de cette page "inspiration" :

<?php
/*
Template Name: Inspirationaround*/
get_header(); ?>
<h1 class="titre">Inspirations</h1>
<div class="corps">
<?php if(have_posts()): while(have_posts()): the_post(); ?>
<div class="inspiration">
<div class="inspiration-post">
<h2 class="inspiration-post-title"><?php the_title(); ?></h2>
<div class="inspiration-post-content">
<div class="inspiration-post-thumb"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('medium'); ?></a></div>
<div class="inspiration-post-txt">
<?php the_content('lire l’article'); ?>
<br><a class="suite" href="#">Lire l’article</a>
</div>
</div>
</div>
<hr>
</div>
<?php endwhile; endif; ?>
</div><!-- fin corps -->
<div class="cb"></div>
<div>&nbsp;</div>
</div><!-- fin corps-quijesuis -->around<?php get_footer(); ?>

Je suis perdu là, pouvez-vous m'aider ?

5 réponses


Salut !
Dans les config de base de wordpress, tu devrais trouver un truc qui dit "la page d'accueil affiche les ... derniers articles", c'est pour ça que tu as bien l'apparence que tu souhaites.
Pour une page c'est différent, il faut que tu dises à WP ce que tu veux afficher. Dans ton cas, tu dois faire une nouvelle instance de WP_query et donner les bons paramètres (id de la catégorie, nombre de posts, etc...) et ensuite tu boucles avec un foreach.

J'espère t'avoir aidé(e) :)

hatfab
Auteur

Merci, ça me donne une piste. Je trouve des infos sur WP_query sur le codex Wordpress ?

hatfab
Auteur

Est-ce que tu aurais un exemple de code à me monter ?

Tu devrais trouver les infos que tu veux sur le page de WP_query dans le codex, oui.

Pour ce qui est du code, ça se présente comme ça :

$args = array(
//  tes arguments
);

$query = new WP_Query( $args );

if ($query->have_posts()) :
  while ($query->have_posts()) : $query->the_post();

  // Le traitement que tu veux faire

  endwhile;
endif;
hatfab
Auteur

Merci, je vais voir ça… bonne fin de journée !