WordPress : Comment afficher les publications récentes sur la page d’accueil avec du code HTML personnalisé
Je cherche à afficher le x
nombre (indécis) de messages récents (pas plus de 10) sur ma page d’accueil. Pour chaque article, je souhaite afficher le titre et un extrait du contenu. Je peux créer moi-même une requête SQL pour l’obtenir, mais je me demandais quelle est la fonction WordPress pour l’obtenir. Le plus proche que j’ai obtenu est <?php wp_get_archives('type=postbypost&limit=10&format=html'); ?>
. Je voudrais également personnaliser le format HTML. Un exemple de la sortie que je voudrais ressemble à ceci
<div id="posts">
<section class="post">
<h2><a href="[post uri]">[post title]</a></h2>
<p>[post snippet]</p>
</section>
<section class="post">
<h2><a href="[post uri]">[post title]</a></h2>
<p>[post snippet]</p>
</section>
</div>
Solution n°1 trouvée
<div id="posts">
<?php
// define query arguments
$args = array(
'posts_per_page' => 8, // your 'x' goes here
'nopaging' = true
// possibly more arguments here
);
// set up new query
$tyler_query = new WP_Query( $args );
// loop through found posts
while ( $tyler_query->have_posts() ) : $tyler_query->the_post();
echo '<section class="post">'.
'<h2><a href="'.
get_permalink().
'">'.
get_the_title().
'</a></h2><p>'.
get_the_excerpt().
'</p></section>';
endwhile;
// reset post data
wp_reset_postdata();
?>
</div>
Par défaut, un extrait fait 55 mots. Pour une longueur d’extrait personnalisée, déposez ce qui suit dans functions.php de votre thème :
function tyler_excerpt_length( $length ) {
return 70; // change number of words to your liking
}
add_filter( 'excerpt_length', 'tyler_excerpt_length' );
Si vous n’êtes pas satisfait du lien par défaut « Continuer la lecture » à la fin de l’extrait, déposez-le dans functions.php :
function tyler_excerpt_more( $more ) {
return 'Read the whole post >>'; // again, change to your liking
}
add_filter( 'excerpt_more', 'tyler_excerpt_more' );
Si, puisque vous avez le lien de publication dans le titre, vous voulez que le lien « plus » de l’extrait ne s’affiche pas, faites en sorte que la fonction ci-dessus renvoie une chaîne vide, c’est-à-dire return '';
.
Lecture complémentaire :
- Classe WP_Query
- get_permalink
- obtenir_le_titre
- Extraits
- obtenir_l’extrait
0 commentaire