NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.
Publié le : 11 février 2016 - Modifié le : 18 janvier 2022
Temps de lecture : 2 minutes, 16 seconds - 211 mots
Partager la publication "Query Post type par Auteur WordPress"
Nous allons dans ce tutoriel, faire un Query Post type par Auteur WordPress qu’on aurait mis en place. Dans cet exemple, le nom du Post Type serait evenements. Vous devez bien sur autoriser les auteurs par un formulaire (Formidable Forms) d’entrer des évènements.
La première des choses, dans cet exemple nous allons créer un template page du nom d’évènements.
Ouvrons notre thème et créons un fichier du nom de tpl-evenements.php.
Query Post type par Auteur WordPress
Assurez vous dans votre template de créer son identité.
Il faut dans cette requête que le user soit connecter sur son compte WordPress.
<?php /* Template Name: Les Evenements */ ?>
Ensuite ajouter le header, footer, ect….
Voici donc la requête contenu dans votre div contenu que nous devons effectuer pour que nous puissions consulter les Évènements par auteur WordPress.
<?php $author_id = get_current_user_id(); $args = array( 'posts_per_page' => 5, // Limit to 5 posts 'post_type' => 'evenements', // Query for the default Post type 'author' => $author_id ); $last_five_posts = get_posts( $args ); foreach ( $last_five_posts as $post ) : setup_postdata( $post ); ?> /////////////////////// Ici le contenu des résultats a afficher title, content, category, ect... ////////////////////////// <?php endforeach; wp_reset_postdata(); ?>
Il est très important de fermer la requete avec la fonction wp_reset_postdata();.
Aller dans son admin WordPress puis créer une Page Évènements et appeler le template evenements….
Voila, le Query Post type par Auteur WordPress s’affichera correctement en sachant que les users soient connectés.
Maintenant on va modifier quelque peu la requête. Vous souhaitez afficher en cliquant sur un author link, afficher les post type de l’auteur de manière générale. On remplace le get_current_user_id(); par $post->post_author;
<?php $author_id = $post->post_author; $args = array( 'posts_per_page' => 5, // Limit to 5 posts 'post_type' => 'evenements', // Query for the default Post type 'author' => $author_id ); $last_five_posts = get_posts( $args ); foreach ( $last_five_posts as $post ) : setup_postdata( $post ); ?> /////////////////////// Ici le contenu des résultats a afficher title, content, category, ect... ////////////////////////// <?php endforeach; wp_reset_postdata(); ?>