Exploration de la fonction wordpress get_posts
Les plats clés
- La fonction get_posts () dans WordPress est utilisée pour récupérer les publications de la base de données en appliquant des filtres personnalisés et en tri le résultat final en fonction d'un ensemble de paramètres. Il renvoie un tableau d'objets WP_POST, chacun représentant un message individuel.
- La fonction get_posts () est préférée à l'objet WP_Query car ce dernier modifie la boucle principale, provoquant potentiellement des problèmes de site. La fonction get_posts () et la fonction get_pages () récupèrent les articles, mais diffèrent en noms de paramètres, valeurs et méthodes de récupération.
- La fonction get_posts () accepte un tableau de paramètres pour appliquer des filtres personnalisés et trier les résultats. Ces paramètres incluent Posts_per_page, Paged, Tax_Query, OrderBy, Order, Exclude, Meta_key, Meta_Value, Post_Type et Post_Status.
- La fonction get_posts () peut être utilisée pour récupérer les publications les plus populaires, les publications aléatoires, les publications avec Meta Key et la valeur correspondantes, et les articles d'un type de publication personnalisé avec un nom de taxonomie personnalisé. Les résultats retournés sont ensuite en boucle pour une utilisation ultérieure.
De nombreux plugins WordPress récupèrent les publications de la base de données en personnalisant l'ordre de tri, en récupérant des publications en fonction d'une méta-clé ou d'une taxonomie spécifique. Vous êtes-vous déjà demandé comment ces plugins récupèrent des listes de messages personnalisés sans écrire de requêtes SQL? Dans ce tutoriel, nous apprendrons à faire exactement cela.

Dans cet article, nous explorerons la fonction get_posts () avec quelques exemples de la façon de l'utiliser dans vos propres projets. Nous couvrirons également certains cas d'utilisation typiques pour cette fonction et en quoi il est différent de la fonction WP_Query et Get_Pages.
Quelle est la fonction get_posts ()?
La fonction get_posts est disponible dans WordPress Core depuis WordPress 1.2.0. Cette fonction est essentiellement utilisée pour récupérer les publications de la base de données en appliquant des filtres personnalisés et en triant le résultat final en fonction d'un ensemble de paramètres.
La fonction get_posts () renvoie un tableau d'objets WP_POST. Chaque objet WP_POST représente un message individuel.
Get_Posts en interne utilise l'objet WP_Query pour construire et exécuter les requêtes SQL en fonction de l'ensemble passé de paramètres.
Remarque: les messages signifient la publication, la page et le type de publication personnalisé.
Pourquoi ne pas utiliser directement l'objet WP_Query?
Les plugins utilisent la fonction GET_POSTS au lieu de l'objet WP_Query car l'utilisation de l'objet WP_Query modifie directement la boucle principale (c'est-à-dire la variable globale $ wp_query) qui entraînerait des problèmes de site.
Quelle est la différence entre les fonctions get_posts () et get_pages ()?
Les deux sont utilisés pour récupérer les publications de la base de données WordPress, cependant, voici quelques-unes des différences entre elles:
- Plusieurs des noms et valeurs de paramètres diffèrent entre eux. Bien qu'ils se comportent de la même manière quel que soit les noms des paramètres.
- La fonction get_pages () ne récupère actuellement pas les publications basées sur les paramètres meta_key et meta_value.
- La fonction get_pages () n'utilise pas l'objet WP_Query. Au lieu de cela, il construit et exécute directement les requêtes SQL.
get_posts () Paramètres de fonction
La fonction get_posts ne prend qu'un seul argument en tant que tableau. Le tableau contient les différents paramètres pour appliquer des filtres personnalisés et trier le résultat.
Voici un exemple de code qui montre comment appeler cette fonction et les différents paramètres disponibles:
<span><span><?php </span></span><span> </span><span><span>$args = array( </span></span><span> <span>"posts_per_page" => 5, </span></span><span> <span>"paged" => 1 </span></span><span> <span>"tax_query" => array( </span></span><span> <span>array( </span></span><span> <span>"taxonomy" => "category", </span></span><span> <span>"field" => "slug", </span></span><span> <span>"terms" => "videos,movies", </span></span><span> <span>) </span></span><span> <span>), </span></span><span> <span>"orderby" => "post_date", </span></span><span> <span>"order" => "DESC", </span></span><span> <span>"exclude" => "1123, 4456", </span></span><span> <span>"meta_key" => "", </span></span><span> <span>"meta_value" => "", </span></span><span> <span>"post_type" => "post", </span></span><span> <span>"post_status" => "publish" </span></span><span><span>); </span></span><span> </span><span><span>$posts_array = get_posts($args); </span></span><span> </span><span><span>?></span></span>
Il y a plus de paramètres disponibles, mais ce sont les plus couramment utilisés. Regardons chacun de ces paramètres:
- Posts_per_page: ce paramètre définit le nombre de messages à retourner. Utilisez -1 si vous voulez tous les messages.
- PAGED: nous permet de naviguer entre un ensemble de messages lors de l'utilisation du paramètre POST_PER_PAGE. Il est utilisé pour la pagination. Par exemple: Supposons que Posts_per_Page soit 10 et qu'il y a 20 messages dans le résultat, alors si vous attribuez Paged à 2, alors les 10 derniers messages sont retournés.
- tax_query: afficher les publications d'une limace de taxonomie particulière, c'est-à-dire, filtrez les postes de l'autre limace de taxonomie. Les termes peuvent prendre une chaîne séparée par des virgules représentant plusieurs limaces de taxonomie.
- OrderBy: il est utilisé pour trier les messages récupérés. Certaines valeurs possibles sont: «Aucun», «Date», «Rand», «comment_count», «meta_value», «meta_value_num» etc. Tout en triant en utilisant «meta_value» et «meta_value_num», vous devez fournir le paramètre meta_key.
- Ordre: désigne l'ordre ascendant ou décroissant du paramètre OrderBy. Les valeurs possibles sont «desc» ou «ASC».
- Exclure: il faut une liste séparée par des virgules des ID de poste qui sera exclue d'une recherche de base de données.
- meta_key et meta_value: si vous ne fournissez que meta_key, les publications qui ont la clé seront retournées. Si vous fournissez également meta_value, les poteaux correspondant à la méta_value pour le meta_key sont retournés.
- post_type: récupère le contenu basé sur la publication, la page ou le type de publication personnalisé. N'oubliez pas que le post_type par défaut n'est défini que pour afficher les publications mais pas les pages.
- post_status: récupère les publications par statut du message. Les valeurs possibles sont: «publier», «en attente», «brouillon», «futur», «any» ou «poubelle».
L'objet WP_POST
La fonction get_posts renvoie un tableau contenant des objets WP_POST. Voici les propriétés importantes de l'objet WP_POST:
- ID: ID du post
- Post_author: Nom de l'auteur du post
- post_type: Type du post
- post_title: titre du post
- post_date: date à laquelle le message a été publié. Format: 0000-00-00 00:00:00
- post_content: Contenu du post.
- post_status: statut du post
- comment_count: nombre de commentaires pour le message
Exemples de get_posts
Voyons quelques exemples à l'aide de la fonction get_posts.
Articles les plus populaires
Si vous souhaitez afficher le numéro N supérieur des articles les plus discutés sur votre site, vous pouvez utiliser Get_Posts pour les récupérer. Voici un exemple:
<span><span><?php </span></span><span> </span><span><span>$args = array( </span></span><span> <span>"posts_per_page" => 5, </span></span><span> <span>"paged" => 1 </span></span><span> <span>"tax_query" => array( </span></span><span> <span>array( </span></span><span> <span>"taxonomy" => "category", </span></span><span> <span>"field" => "slug", </span></span><span> <span>"terms" => "videos,movies", </span></span><span> <span>) </span></span><span> <span>), </span></span><span> <span>"orderby" => "post_date", </span></span><span> <span>"order" => "DESC", </span></span><span> <span>"exclude" => "1123, 4456", </span></span><span> <span>"meta_key" => "", </span></span><span> <span>"meta_value" => "", </span></span><span> <span>"post_type" => "post", </span></span><span> <span>"post_status" => "publish" </span></span><span><span>); </span></span><span> </span><span><span>$posts_array = get_posts($args); </span></span><span> </span><span><span>?></span></span>
Ici, nous utilisons le paramètre OrderBy pour trier les articles en fonction du nombre de commentaires, récupérant les 10 meilleurs messages.
Posts aléatoires
Vous pouvez également récupérer facilement des poteaux aléatoires. Cela est utile pour recommander aux utilisateurs un autre article sur votre site une fois qu'ils auront terminé la lecture de celui actuel. Voici le code pour ceci:
<span><span><?php </span></span><span> <span>$args = array("posts_per_page" => 10, "orderby" => "comment_count"); </span></span><span> <span>$posts_array = get_posts($args); </span></span><span> <span>foreach($posts_array as $post) </span></span><span> <span>{ </span></span><span> <span>echo "<h1>" . $post->post_title . "</h1><br>"; </span></span><span> <span>echo "<p>" . $post->post_content . "</p><br>"; </span></span><span> <span>} </span></span><span><span>?></span></span>
Dans l'exemple ci-dessus, nous avons passé la valeur Rand au paramètre Order_By.
Posts avec la clé et la valeur correspondantes
Nous pourrions vouloir récupérer tous les articles qui ont une clé de méta et une valeur particulières attribuées. Par exemple: certains blogs ont un critique pour chaque article. Nous pourrions vouloir récupérer des articles examinés par un critique particulier.
Voici le code pour faire exactement cela:
<span><span><?php </span></span><span> <span>$args = array("posts_per_page" => 1, "orderby" => "rand"); </span></span><span> <span>$posts_array = get_posts($args); </span></span><span> <span>foreach($posts_array as $post) </span></span><span> <span>{ </span></span><span> <span>echo "<h1>" . $post->post_title . "</h1><br>"; </span></span><span> <span>echo "<p>" . $post->post_content . "</p><br>"; </span></span><span> <span>} </span></span><span><span>?></span></span>
Ici, nous récupérons tous les articles examinés par "Narayanpruty". Nous supposons que le nom de l'examinateur est stocké via le «réviseur» de Meta Key pour chaque message.
Type de publication personnalisée avec taxonomie personnalisée
Nous voulons peut-être récupérer des publications d'un type de message personnalisé avec un nom de taxonomie personnalisé. Considérez cet exemple de code:
<span><span><?php </span></span><span> <span>$args = array("posts_per_page" => -1, "meta_key" => "reviewer", "meta_value" = "narayanprusty"); </span></span><span> <span>$posts_array = get_posts($args); </span></span><span> <span>foreach($posts_array as $post) </span></span><span> <span>{ </span></span><span> <span>echo "<h1>" . $post->post_title . "</h1><br>"; </span></span><span> <span>echo "<p>" . $post->post_content . "</p><br>"; </span></span><span> <span>} </span></span><span><span>?></span></span>
Dans cet exemple, nous récupérons les publications d'un type de message personnalisé nommé «coupons» qui appartiennent aux «plugins» et «thèmes» des taxonomies personnalisées.
Conclusion
Dans cet article, nous avons vu comment fonctionne la fonction GET_POSTS, les différents paramètres qu'il prend en charge, en boucle via le résultat retourné et certains exemples de cas d'utilisation. La fonction get_posts est l'une des fonctions WordPress les plus utilisées, j'espère que vous pourrez maintenant commencer à l'utiliser vos propres projets.
Questions fréquemment posées (FAQ) sur la fonction WordPress get_posts
Quelle est la différence entre Get_Posts et WP_Query dans WordPress?
Les Get_posts et WP_Query sont utilisés pour récupérer les publications de votre base de données WordPress. Cependant, ils diffèrent dans leur utilisation et leur flexibilité. Get_Posts est une fonction plus simple, idéale pour les débutants et pour les situations où vous n'avez besoin que de récupérer un ensemble spécifique de messages. D'un autre côté, WP_Query est plus puissant et plus flexible. Il permet des requêtes plus complexes et vous donne plus de contrôle sur la boucle WordPress. Bien que Get_Posts soit plus facile à utiliser, WP_Query fournit des fonctionnalités plus avancées pour personnaliser vos requêtes.
Comment puis-je modifier le nombre de messages renvoyés par get_posts?
Vous pouvez contrôler le nombre de messages renvoyés par get_posts en utilisant le paramètre «NumberPosts». Par défaut, il est défini sur 5. Si vous souhaitez récupérer tous les messages, vous pouvez définir des «postes de nombres» sur -1. Par exemple, pour obtenir 10 messages, vous utiliseriez: get_posts (array ('numberposts' => 10));
puis-je utiliser get_posts pour récupérer Peut utiliser Get_Posts pour récupérer les types de publiques personnalisées. Il vous suffit de spécifier le paramètre «post_type» dans votre requête. Par exemple, si vous avez un type de message personnalisé appelé 'Products', vous pouvez récupérer ces messages avec: get_posts (array ('post_type' => 'products'));
comment puis-je trier les messages renvoyés par get_posts?
Vous pouvez trier les messages renvoyés par get_posts en utilisant les paramètres «OrderBy» et «Order». «OrderBy» détermine le champ à trier, et «Order» détermine l'ordre de tri (ASC pour l'ascendant et la descendant pour les descendants). Par exemple, pour trier les publications par titre dans l'ordre croissant, vous utiliseriez: get_posts (array ('orderby' => 'title', 'ordonnance' => 'asc'));
puis-je utiliser get_posts Pour récupérer des publications à partir d'une catégorie spécifique?
Oui, vous pouvez utiliser Get_Posts pour récupérer des publications à partir d'une catégorie spécifique. Il vous suffit de spécifier le paramètre «catégorie» dans votre requête. Par exemple, pour obtenir des articles de la catégorie avec l'ID 3, vous utiliseriez: get_posts (array ('catégorie' => 3));
comment puis-je récupérer les publications de plusieurs catégories à l'aide de get_posts?
Pour récupérer les publications de plusieurs catégories, vous pouvez passer un tableau d'ID de catégorie au paramètre «catégorie». Par exemple, pour obtenir des articles des catégories avec les IDS 3 et 4, vous utiliseriez: get_posts (array ('catégorie' => array (3, 4)));
puis-je utiliser get_posts pour récupérer Messages par un auteur spécifique?
Oui, vous pouvez utiliser Get_Posts pour récupérer les publications par un auteur spécifique. Il vous suffit de spécifier le paramètre «auteur» dans votre requête. Par exemple, pour obtenir des messages par l'auteur avec l'ID 1, vous utiliseriez: get_posts (array ('auteur' => 1));
comment puis-je récupérer les publications qui contiennent une méta-valeur spécifique à l'aide de get_posts ?
Pour récupérer des publications contenant une méta-valeur spécifique, vous pouvez utiliser les paramètres 'meta_key' et 'meta_value'. Par exemple, pour obtenir des articles qui ont une méta-clé de «couleur» et une méta-valeur de «bleu», vous utiliseriez: get_posts (array («meta_key» => «couleur», «meta_value» => «bleu») . Il vous suffit de spécifier le paramètre «tag» dans votre requête. Par exemple, pour obtenir des articles qui ont la balise «wordpress», vous utiliseriez: get_posts (array («tag» => «wordpress»));
Comment puis-je récupérer les publications à partir d'une plage de dates spécifique à l'aide de get_posts?
Pour récupérer les publications à partir d'une plage de dates spécifique, vous pouvez utiliser le paramètre "Date_Query". Ce paramètre accepte un tableau de tableaux, chaque tableau intérieur définissant une clause de requête de date. Par exemple, pour obtenir des publications à partir de janvier 2020, vous utiliseriez: get_posts (array (‘date_query’ => array (array (‘Year’ => 2020, ‘mois’ => 1))));
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Il existe quatre façons d'ajuster la liste des articles WordPress: utilisez des options de thème, utilisez des plugins (tels que l'ordre des types de publication, la liste des publiques WP, des trucs boxy), utilisez du code (ajoutez des paramètres dans le fichier functions.php), ou modifiez directement la base de données WordPress.

Les blogs sont la plate-forme idéale pour que les gens expriment leurs opinions, opinions et opinions en ligne. De nombreux débutants sont impatients de créer leur propre site Web, mais hésitent à s'inquiéter des obstacles techniques ou des problèmes de coûts. Cependant, comme la plate-forme continue d'évoluer pour répondre aux capacités et aux besoins des débutants, il commence maintenant à devenir plus facile que jamais. Cet article vous guidera étape par étape comment créer un blog WordPress, de la sélection de thème à l'utilisation des plugins pour améliorer la sécurité et les performances, vous aidant facilement à créer votre propre site Web. Choisissez un sujet et une direction de blog Avant d'acheter un nom de domaine ou d'enregistrer un hôte, il est préférable d'identifier les sujets que vous prévoyez de couvrir. Les sites Web personnels peuvent tourner autour des voyages, de la cuisine, des critiques de produits, de la musique ou de tout passe-temps qui suscite vos intérêts. Se concentrer sur les domaines qui vous intéressent vraiment peuvent encourager l'écriture continue

Récemment, nous vous avons montré comment créer une expérience personnalisée pour les utilisateurs en permettant aux utilisateurs d'enregistrer leurs publications préférées dans une bibliothèque personnalisée. Vous pouvez porter des résultats personnalisés à un autre niveau en utilisant leurs noms à certains endroits (c'est-à-dire des écrans de bienvenue). Heureusement, WordPress facilite l'obtention d'informations sur les utilisateurs connectés. Dans cet article, nous vous montrerons comment récupérer des informations liées à l'utilisateur actuellement connecté. Nous utiliserons le get_currentUserInfo (); fonction. Cela peut être utilisé n'importe où dans le thème (en-tête, pied de page, barre latérale, modèle de page, etc.). Pour que cela fonctionne, l'utilisateur doit être connecté. Nous devons donc utiliser

Voulez-vous savoir comment afficher les catégories d'enfants sur la page des archives de la catégorie parent? Lorsque vous personnalisez une page d'archive de classification, vous devrez peut-être le faire pour le rendre plus utile à vos visiteurs. Dans cet article, nous vous montrerons comment afficher facilement les catégories d'enfants sur la page des archives de la catégorie parent. Pourquoi les sous-catégories apparaissent-elles sur la page des archives de la catégorie des parents? En affichant toutes les catégories d'enfants sur la page des archives de la catégorie parent, vous pouvez les rendre moins génériques et plus utiles aux visiteurs. Par exemple, si vous exécutez un blog WordPress sur les livres et que vous avez une taxonomie appelée "thème", vous pouvez ajouter une sous-taxonomie telle que "roman", "non-fiction" afin que vos lecteurs puissent

Dans le passé, nous avons partagé comment utiliser le plugin PostExpirator pour expirer les publications dans WordPress. Eh bien, lors de la création du site Web de la liste d'activités, nous avons trouvé ce plugin très utile. Nous pouvons facilement supprimer les listes d'activités expirées. Deuxièmement, grâce à ce plugin, il est également très facile de trier les publications par date d'expiration du post. Dans cet article, nous vous montrerons comment trier les publications par date d'expiration post-expiration dans WordPress. Code mis à jour pour refléter les modifications du plugin pour modifier le nom du champ personnalisé. Merci Tajim de nous avoir fait savoir dans les commentaires. Dans notre projet spécifique, nous utilisons des événements comme types de publication personnalisés. Maintenant

Pour créer un site Web à l'aide de WordPress Host, vous devez: sélectionner un fournisseur d'hébergement fiable. Acheter un nom de domaine. Configurez un compte d'hébergement WordPress. Sélectionnez un sujet. Ajoutez des pages et des articles. Installez le plug-in. Personnalisez votre site Web. Publiez votre site Web.

Cherchez-vous des moyens d'automatiser votre site Web WordPress et vos comptes de médias sociaux? Avec l'automatisation, vous pourrez partager automatiquement vos articles de blog WordPress ou vos mises à jour sur Facebook, Twitter, LinkedIn, Instagram et plus encore. Dans cet article, nous vous montrerons comment automatiser facilement WordPress et les médias sociaux en utilisant IFTTT, Zapier et Uncanny Automator. Pourquoi automatiser WordPress et les médias sociaux? Automatiser votre wordpre

L'un de nos utilisateurs a demandé à d'autres sites Web comment afficher le nombre de requêtes et de temps de chargement dans le pied de page. Vous voyez souvent cela dans le pied de page de votre site Web, et il peut afficher quelque chose comme: "64 requêtes en 1,248 secondes". Dans cet article, nous vous montrerons comment afficher le nombre de requêtes et de temps de chargement de page dans WordPress. Collez simplement le code suivant partout dans le fichier de thème (par exemple Footer.php). requêtes
