recherche
MaisonTutoriel CMSWordPresseExploration de la fonction wordpress get_posts

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.

Exploration de la fonction wordpress get_posts

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></span>

Il y a plus de paramètres disponibles, mais ce sont les plus couramment utilisés. Regardons chacun de ces paramètres:

  1. Posts_per_page: ce paramètre définit le nombre de messages à retourner. Utilisez -1 si vous voulez tous les messages.
  2. 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.
  3. 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.
  4. 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.
  5. Ordre: désigne l'ordre ascendant ou décroissant du paramètre OrderBy. Les valeurs possibles sont «desc» ou «ASC».
  6. 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.
  7. 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.
  8. 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.
  9. 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:

  1. ID: ID du post
  2. Post_author: Nom de l'auteur du post
  3. post_type: Type du post
  4. post_title: titre du post
  5. post_date: date à laquelle le message a été publié. Format: 0000-00-00 00:00:00
  6. post_content: Contenu du post.
  7. post_status: statut du post
  8. 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></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 id="post-gt-post-title">" . $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></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 id="post-gt-post-title">" . $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></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 id="post-gt-post-title">" . $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></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!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Puis-je apprendre WordPress en 3 jours?Puis-je apprendre WordPress en 3 jours?Apr 09, 2025 am 12:16 AM

Peut apprendre WordPress dans les trois jours. 1. Master les connaissances de base, telles que les thèmes, les plug-ins, etc. 2. Comprenez les fonctions principales, y compris les principes d'installation et de travail. 3. Apprenez l'utilisation de base et avancée à travers des exemples. 4. Comprendre les techniques de débogage et les suggestions d'optimisation des performances.

WordPress est-il un CMS?WordPress est-il un CMS?Apr 08, 2025 am 12:02 AM

WordPress est un système de gestion de contenu (CMS). Il fournit une gestion de contenu, une gestion des utilisateurs, des thèmes et des capacités de plug-in pour prendre en charge la création et la gestion du contenu du site Web. Son principe de travail comprend la gestion des bases de données, les systèmes de modèles et l'architecture du plug-in, adaptés à une variété de besoins, des blogs aux sites Web d'entreprise.

À quoi sert WordPress?À quoi sert WordPress?Apr 07, 2025 am 12:06 AM

WordPressisGoodForvirontuallyAnyWebprojectDuetOtsSversatityAsacms.itexcelsin: 1) une convivialité, permettant à la manière

Dois-je utiliser Wix ou WordPress?Dois-je utiliser Wix ou WordPress?Apr 06, 2025 am 12:11 AM

Wix convient aux utilisateurs qui n'ont aucune expérience de programmation, et WordPress convient aux utilisateurs qui souhaitent plus de capacités de contrôle et d'extension. 1) Wix fournit des éditeurs de glisser-déposer et des modèles riches, ce qui facilite la création d'un site Web rapidement. 2) En tant que CMS open source, WordPress possède un énorme écosystème communautaire et plug-in, soutenant la personnalisation et l'expansion approfondies.

Combien coûte WordPress?Combien coûte WordPress?Apr 05, 2025 am 12:13 AM

WordPress lui-même est gratuit, mais il en coûte supplémentaire à utiliser: 1. WordPress.com propose un package allant du gratuit à payant, avec des prix allant de quelques dollars par mois à des dizaines de dollars; 2. WordPress.org nécessite l'achat d'un nom de domaine (10-20 dollars américains par an) et des services d'hébergement (5-50 dollars américains par mois); 3. La plupart des plug-ins sont gratuits, et le prix payant se situe entre des dizaines et des centaines de dollars; En choisissant le bon service d'hébergement, en utilisant des plug-ins et des thèmes raisonnablement, et en maintenant et en maintenant régulièrement, le coût de WordPress peut être efficacement contrôlé et optimisé.

WordPress est-il toujours gratuit?WordPress est-il toujours gratuit?Apr 04, 2025 am 12:06 AM

La version principale de WordPress est gratuite, mais d'autres frais peuvent être engagés pendant l'utilisation. 1. Les noms de domaine et les services d'hébergement nécessitent un paiement. 2. Des thèmes et des plug-ins avancés peuvent être facturés. 3. Les services professionnels et les fonctionnalités avancées peuvent être facturés.

WordPress est-il facile pour les débutants?WordPress est-il facile pour les débutants?Apr 03, 2025 am 12:02 AM

WordPress est facile pour les débutants de commencer. 1. Après se connecter à l'arrière-plan, l'interface utilisateur est intuitive et le tableau de bord simple fournit tous les liens de fonction nécessaires. 2. Les opérations de base incluent la création et l'édition de contenu. L'éditeur WYSIWYG simplifie la création de contenu. 3. Les débutants peuvent étendre les fonctions du site Web via des plug-ins et des thèmes, et la courbe d'apprentissage existe mais peut être maîtrisée par la pratique.

Pourquoi quelqu'un utiliserait-il WordPress?Pourquoi quelqu'un utiliserait-il WordPress?Apr 02, 2025 pm 02:57 PM

Les gens choisissent d'utiliser WordPress en raison de son pouvoir et de sa flexibilité. 1) WordPress est un CMS open source avec une forte facilité d'utilisation et une évolutivité, adaptée à divers besoins en site Web. 2) Il a des thèmes et des plugins riches, un énorme écosystème et un fort soutien communautaire. 3) Le principe de travail de WordPress est basé sur des thèmes, des plug-ins et des fonctions de base, et utilise PHP et MySQL pour traiter les données, et prend en charge l'optimisation des performances.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

SublimeText3 version Mac

SublimeText3 version Mac

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

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft