WordPress
time_read27mn de lecture

Qu’est-ce que la fonction get_posts de WordPress et comment l’utiliser pour créer des listes de publications WordPress ?

01 septembre 2023

Qu'est-ce que la fonction get_posts de WordPress et comment l'utiliser pour créer des listes de publications WordPress ?

📚 WordPress est un outil incroyablement polyvalent qui offre une multitude de fonctions pour personnaliser votre site. Une de ces fonctions magiques est get_posts, une fonction qui peut vous aider à créer des listes de publications sur mesure, exactement comme vous le souhaitez ! 🛠️ Dans cet article, nous plongerons dans le monde de get_posts et explorerons comment vous pouvez l’utiliser pour améliorer la navigation et l’engagement sur votre site. 🚀🌐

Objectif

L’objectif de cet article est d’expliquer en profondeur ce que la fonction get_posts accompli, 🤫son rôle et son importance dans le développement WordPress. Parallèlement, nous vous fournirons des explications 🗣️🔊pour utiliser get_posts afin de créer des listes de publications sur mesure, adaptées à des scénarios spécifiques, que vous soyez débutant ou développeur WordPress expérimenté.😇

Une solution clés en main pour créer un site WordPress ?

LWS vous conseille sa formule d’hébergement WordPress en promotion à -20% (offre à partir de 3,99€ par mois au lieu de 4,99 €). Non seulement les performances sont au rendez-vous mais vous profitez en plus d’un support exceptionnel.

Découvrir l'offre

Prérequis

Tout ce dont vous avez besoin pour utiliser la fonction get_posts dans WordPress est un accès à l’espace d’administration de votre site avec un compte administrateur. Vous devez également disposer des accès FTP pour pouvoir accéder aux fichiers d’installation de votre site.

Qu’est-ce que la fonction get_posts ?

Qu'est-ce que la fonction get_posts de WordPress ?La fonction get_posts dans WordPress est un outil essentiel pour interagir avec la base de données du CMS afin de récupérer des publications selon des critères spécifiques.

L’un des principaux avantages de l’utilisation de get_posts est sa simplicité d’utilisation couplée à une puissante flexibilité. En quelques lignes de code, vous pouvez extraire un ensemble spécifique de données sans avoir à écrire des requêtes SQL complexes. Il est possible de filtrer les publications par divers critères tels que la catégorie, les balises, l’auteur, et bien plus encore. Cela offre une manière intuitive de personnaliser l’expérience utilisateur en fonction de l’organisation du contenu de votre site.

De plus, get_posts est extrêmement modulable. Vous pouvez facilement changer les arguments passés à la fonction pour créer différents types de listes de publications, tels que des pages d’accueil, des barres latérales ou des sections de contenu en vedette.

Un autre point à souligner est la cohérence de données. Lorsque vous utilisez get_posts, vous travaillez avec des objets et des fonctions WordPress natifs, ce qui garantit que les données récupérées sont conformes aux structures et aux formats définis dans le CMS. Cette cohérence est particulièrement utile pour le maintien et la mise à jour de votre site à long terme.

Important : Vous n’etes pas épargné des erreurs lorsque vous modifiez le code sur votre site WordPress. Nous vous recommanons de le sauvegarder avant d’utiliser les extraits de code que nous allons utiliser dans la suite de cet article. Pour en savoir plus, lisez ces guides :

Comment utiliser la fonction get_posts dans WordPress ?

Afficher les publications avec la fonction get_posts

La syntaxe de base pour utiliser get_posts est la suivante :

$posts = get_posts( $args );

$args est un tableau associatif d’arguments qui vous permettent de spécifier exactement ce que vous recherchez. Par exemple, si vous souhaitez récupérer 5 articles de la catégorie ayant pour ID 10, vous pouvez le faire comme suit :

$args = array(
    'posts_per_page'   => 5,
    'offset'           => 0,
    'category'         => 10,
    'orderby'          => 'date',
    'order'            => 'DESC',
    'post_type'        => 'post',
    'post_status'      => 'publish',
);

$posts = get_posts( $args );

Voici quelques arguments que vous pouvez utiliser pour filtrer les publications :

  • posts_per_page : Nombre de posts à afficher par page. La valeur -1 affiche tous les posts.
  • offset : Le nombre de posts à passer avant de commencer à récupérer des posts.
  • category : ID de catégorie pour filtrer les publications.
  • category_name : Nom de la catégorie pour filtrer les publications.
  • tag : Nom du tag pour filtrer les publications.
  • post_type : Le type de publication à récupérer (par exemple : post, page, attachment, etc.)
  • post_status : Le statut de la publication (publish, draft, pending, etc.)

D’autres arguments que vous pouvez utiliser sont notamment liés au tri de publications (orderby, order) ou aux champs personnalisés (meta_key, meta_value, meta_query…).

Parcourir les publications récupérées

Après avoir récupéré les publications, vous pouvez les parcourir avec une boucle foreach pour afficher le contenu de chaque publication. Utilisez la syntaxe ci-dessous :

foreach ( $posts as $post ) {
    setup_postdata( $post );

    // Vous pouvez utiliser des fonctions de template WordPress ici
    the_title();
    the_excerpt();
    the_permalink();
    
    // Ou simplement accéder aux données du post directement
    // Exemple : echo $post->post_title;

}
wp_reset_postdata();

Obtenir les publications par ID de l’auteur

Si vous connaissez l’ID de l’auteur des messages que vous souhaitez récupérer, vous pouvez utiliser l’argument author. Par exemple, pour obtenir les 5 derniers messages de l’auteur avec l’ID 1, vous pouvez faire comme suit :

$args = array(
    'posts_per_page' => 5,
    'author'         => 1
);
$posts_by_author = get_posts( $args );

Si vous connaissez plutôt le nom de l’auteur, utilisez la syntaxe suivante :

$args = array(
    'posts_per_page' => 5,
    'author_name'    => 'john_doe'
);
$posts_by_author = get_posts( $args );

Ajoutez ensuite l’extrait de code ci-dessous pour afficher les publications :

foreach ( $posts_by_author as $post ) {
    setup_postdata( $post );
    // Vous pouvez utiliser les fonctions de template WordPress ici
    echo '<a href="' . get_permalink() . '">' . get_the_title() . '</a><br>';
}
wp_reset_postdata();

Obtenir des publications dans la même catégorie en utilisant la fonction get_posts

Pour obtenir des publications dans la même catégorie que celle de la publication actuelle, vous pouvez utiliser la fonction get_posts en passant les identifiants de catégorie de la publication actuelle en tant qu’argument. Utilisez l’extrait de code ci-dessous :
// Étape 1: Obtenir les catégories de la publication actuelle
$current_post_categories = get_the_category();
$category_ids = array();

// Étape 2: Extraire les ID de catégorie
if (!empty($current_post_categories)) {
    foreach($current_post_categories as $category) {
        $category_ids[] = $category->term_id;
    }
}

// Étape 3: Utiliser get_posts pour obtenir les publications dans les mêmes catégories
$args = array(
    'posts_per_page' => 5, // Nombre de publications à récupérer
    'category__in'   => $category_ids,  // Utilisez 'category__in' pour filtrer par ID de catégorie
    'post__not_in'   => array(get_the_ID())  // Exclure la publication actuelle
);
$related_posts = get_posts($args);

// Étape 4: Afficher les publications récupérées
foreach ( $related_posts as $post ) {
    setup_postdata( $post );
    echo '<a href="' . get_permalink() . '">' . get_the_title() . '</a><br>';
}

// Réinitialiser les données de la publication après la boucle
wp_reset_postdata();

Le script ci-dessus combine quatre étapes pour afficher les publications d’une même catégorie. Il s’exécute en quatre étapes : l’obtention de la catégorie de la publication actuelle, l’extraction de l’ID de catégorie, l’utilisation de get_posts pour obtenir les publications dans la même catégorie et enfin l’affichage des publications récupérées.

Besoin d'un serveur privé virtuel VPS sécurisé ?

LWS vous conseille sa formule d’hébergement sur VPS en promotion à -75% (offre à partir de 4,99€ par mois au lieu de 19,99 €). Non seulement les performances sont au rendez-vous mais vous profitez en plus d’un support exceptionnel.

Découvrir l'offre

Afficher les publications populaires

Vous pouvez également afficher les publications les plus populaires de votre site en suivant un certain nombre d’étapes.

Étape 1 : créer un compteur de vues

Dans le fichier functions.php de votre thème WordPress, ajoutez le code suivant pour incrémenter un compteur de vues chaque fois qu’une publication est visitée :

function set_post_views($postID) {
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count == ''){
        $count = 0;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
    }
}

Dans le même fichier, assurez-vous d’appeler cette fonction lorsque quelqu’un visite une publication. Vous pouvez utiliser l’action wp_head pour cela :

function track_post_views ($post_id) {
    if ( !is_single() ) return;
    if ( empty ( $post_id) ) {
        global $post;
        $post_id = $post->ID;    
    }
    set_post_views($post_id);
}
add_action( 'wp_head', 'track_post_views');

Étape 2 : Utiliser get_posts pour obtenir les publications les plus populaires

Maintenant que vous avez un compteur de vues pour chaque publication, utilisez get_posts avec les arguments meta_key et orderby pour récupérer les publications en fonction de leur nombre de vues :

$args = array(
    'posts_per_page' => 5,
    'meta_key' => 'post_views_count',
    'orderby' => 'meta_value_num',
    'order' => 'DESC'
);
$popular_posts = get_posts( $args );

Étape 3 : Afficher les publications

Vous pouvez maintenant utiliser une boucle pour afficher ces publications :

foreach ( $popular_posts as $post ) {
    setup_postdata( $post );
    // Utilisez des fonctions de template WordPress ou accédez aux données de la publication directement
    echo '<a href="' . get_permalink() . '">' . get_the_title() . '</a><br>';
}
wp_reset_postdata();

Trucs et astuces


Envie d’en savoir plus sur WordPress et d’autres astuces pour booster votre site ? N’hésitez pas à explorer le blog LWS pour des conseils et des tutoriels incontournables ! 🌐✨

Conclusion

La fonction get_posts est un pilier dans le développement WordPress qui offre une grande flexibilité et de nombreuses options🤭 pour personnaliser la manière dont vous récupérez et affichez vos publications. Qu’il s’agisse de montrer les derniers articles de blog, de filtrer des publications par catégorie, ou de créer une galerie de produits, get_posts est un outil puissant que tout bon développeur WordPress 👩‍💻se doit de maîtriser. Ainsi,🤗 vous pouvez optimiser l’expérience utilisateur et personnaliser votre site de manière plus efficace et plus élégante.

Avez-vous des questions, des ajouts ou des préoccupations sur la façon d’utiliser la fonction get_posts sur WordPress ? Écrivez-nous en utilisant la section dédiée aux commentaires.

Besoin d’un hébergeur pour votre site ?

LWS vous conseille sa formule d’hébergement web en promotion à -25% (offre à partir de 1,49€ par mois au lieu de 1,99 €). Non seulement les performances sont au rendez-vous mais vous profitez d’un support exceptionnel.

Découvrir l’offre

Avatar de l'auteur

Auteur de l'article

Joseph

Bonjour, je m'appelle Joseph. Je suis rédacteur spécialisé dans WordPress, PrestaShop et d'autres CMS. Fort d'une expertise approfondie en PHP et MySQL, je partage mes connaissances à travers des tutoriels simples et accessibles. Passionné par le développement et la transmission de savoir, j'aime expliquer et rendre les concepts techniques compréhensibles pour tous

Avis client de l'hébergeur LWS

Nos avis Trustpilot Nos avis Hostadvice Nos avis sur avis.lws.fr
Avis trustpilot 30/04/2022

LWS l'hébergeur par excellence !

LWS est pour moi l'hébergeur par excellence, que cela soit au niveau de l'hébergement qui est très performant, les mails qui sont d'une qualité professionnelle et de la gestion du domaine facile à comprendre.

PauseGreen

Avis hostadvice 27/04/2022

Super, au top !

Au top, prix attractif. Service très rapide et réactif. Je l'ai même personnellement recommandé à des proches. La vie est bien plus facile avec LWS

Masset Eliot

Avis avislws 26/04/2022

Support

Clair, efficace, rapide et à tarif abordable. J'ai maintenant un site superbe à mon image, puisque je le fais moi-même. L'équipe technique est au top, j'ai une réponse en 20 minutes, cela change d'autres hébergeurs pourtant plus connu.

Lady Whip

Avis hostadvice 24/04/2022

Bravo et merci

Bravo et merci aux équipes techniques pour leur réactivité et leur professionnalisme depuis plus de 10 ans chez eux et de nombreux sites !!! Merci

Olivier Delmas

Avis trustpilot 23/04/2022

Je suis très satisfait.

J'ai commandé un hébergement pour le site d'une association. Tout s'est passé très rapidement et sans la moindre embuche. La tarification est attractive et me parait très claire. Le panneau d'administration de l'hébergement est facile à utiliser et à comprendre. Je n'ai pas encore installé Wordpress car le contenu n'est pas prêt mais ce sera la prochaine étape et je suis très confiant. Merci !

Pierre-André Liné

Avis avislws 20/04/2022

Un service technique excellent

Je suis client chez LWS depuis 2011 avec une boutique OSCommerce qui tourne comme une horloge depuis cette date sur un hébergement mutualisé. La disponibilité de la boutique est très proche de 100%. Concernant les rares problèmes rencontrés en huit ans, j’ai eu à chaque fois un technicien compétent qui a résolu le problème très rapidement et efficacement. Je suis en train de migrer sur une plateforme Pretashop sur un VPS, avec l’offre LWS Debian 9 et Prestashop. Un technicien m’a grandement aidé pour finaliser l’installation de la boutique lors de la mise à jour vers la dernière version de Prestashop 1.7 qui posait problème. Je suis très satisfait de LWS, et ce sur la durée : réponses et réactions rapides et efficaces. Je recommande cet hébergeur et encore merci.

Alain

Avis trustpilot 16/04/2022

Une expérience jamais égalée !

Étant Développeur Web & Mobile Full-Stack depuis plus de 5 ans déjà, j'ai rarement eu un service client aussi rapide et efficace. Sans compter la qualité du service en ligne. Je recommande VIVEMENT LWS !

Chris KOUAKAM

Avis hostadvice 12/04/2022

Très bon hébergeur

J'ai un serveur VPS chez eux et je n'ai aucun problème, dès qu'il y a un problème le service technique est la pour vous aider et répond assez rapidement à votre demande. Je recommande vivement cet hébergeur.

Vanden Cruyce

Avis avislws 09/04/2022

Je suis ravie

Je suis ravie d'être avec LWS sur tous les plans, je remercie les Techniciens (Fabrice, Omar, Sandy-Mahitsison) depuis plus de 8 ans j'ai évolué avec LWS et toujours soutenue. Une véritable relation humaine même si les questions ou nos inquiétudes ne correspondent pas à leurs missions, ils sont là pour nous répondent et nous rassurent. Mon site c'est mon travail ma source de revenue donc il sont mes partenaires ! les travailleurs de l'ombre merci à eux ! Merci LWS

L'atelier-and-Co

Commentaires (0)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.