Guides en français pour créer un site Wordpress, Prestashop – Tutoriels LWS

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

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 ?

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 :

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

Quitter la version mobile