wordpress pour débutant
- Épisode n ° 10 Amener Python dans les masses avec hébergement et DevOps sur PythonAnywhere
- 10+ thèmes WordPress pour les meilleurs avocats pour les cabinets d'avocats
- Getwid – Blocs WordPress personnalisables pour Gutenberg
- Comprendre les opérateurs PHP de logique, ou || et et ! beaucoup plus • WPShout
- Épisode 74: passé, présent et futur d'IronPython
Ce cours WPShout gratuit est une introduction pas à pas à WP_Query, l'un des systèmes les plus puissants de WordPess. À la fin du cours, vous saurez ce qu’un WP_Query
est, et comment et pourquoi utiliser votre propre coutume WP_Query
s pour le développement de thèmes et de plugins. C'est vraiment un outil révolutionnaire et puissant à maîtriser pour tous les développeurs de thèmes et de plugins WordPress really
Une chose avant de plonger. Si vous voulez accéder à des vidéos et à des exemples de code supplémentaires sur WP_Query
—Et si vous voulez mieux comprendre le développement WordPress en général — jetez un œil à notre cours complet "apprendre le développement WordPress", Opérationnel. C'est le meilleur guide pour le développement de WordPress.
La meilleure façon d'apprendre le développement WordPress
Opérationnel est notre cours complet "apprendre le développement WordPress". Maintenant dans sa troisième édition mise à jour et étendue, il a aidé des centaines d'acheteurs satisfaits à apprendre le développement WordPress de manière rapide, intelligente et approfondie.
Voici ce qu’ils ont à dire:
«Je pense que toute personne intéressée à apprendre le développement WordPress A BESOIN de ce cours. Regarder les vidéos était comme un tas de lumières allumées. »-Jason, développeur WordPress
"Les autres cours que j'ai essayés manquent presque toujours d'explications claires sur la raison pour laquelle WordPress fait les choses d'une certaine manière, ou sur la façon dont les choses fonctionnent ensemble. Up and Running fait tout cela, et tout est expliqué clairement et dans un langage facile à comprendre. »-Caroline, pigiste WordPress
1. WP_Query
: Comprendre les bases de la programmation orientée objet
le WP_Query
L'API utilise un style de programmation appelé programmation orientée objetou OOP. Chaque WP_Query
est en fait un WP_Query
Objet, c'est-à-dire une instance individuelle du plus large WP_Widget
classe. Si cette configuration n'a pas de sens pour vous, vous voudrez apprendre rapidement les bases de la programmation orientée objet (POO):
Introduction au PHP orienté objet pour les développeurs WordPress
Point clé: classes et objets
Une classe est une description abstraite d'un type de chose. Une fois que vous avez défini une classe dans du code orienté objet, vous créez des objets réels qui contiennent les traits que vous avez définis dans la classe. L'article utilise l'exemple d'une classe Chair:
// Création de la classe Chair
Chaise de classe
// Nous listons ici les éléments importants dont disposent tous les présidents,
// comme "hauteur" et "couleur"
// Création d'un objet Chair
$ mychair = nouveau président;
C'est le fondement de ce que vous devrez savoir dans la POO pour travailler avec WP_Query
.
2. La boucle: comment les processus WordPress ont récupéré les lots de publications dans les pages Web
WP_Query
fait précisément une chose: il va chercher lots de publications WordPress à partir de la base de données WordPress. Avant d'apprendre WP_Query
directement, vous aurez besoin de comprendre le moteur de base de WordPress: la boucle, qui prend ces lots de messages récupérés et les traite, l'un après l'autre, dans le contenu des pages de votre site.
Comprendre la boucle: la façon dont WordPress affiche les publications
Point clé: une boucle de base
La boucle fonctionne sur un ensemble de publications récupérées et les traite une par une. C'est quoi while (have_posts ())
signifie: tant qu'il reste des publications à traiter, continuez à les traiter une par une.
Le traitement est terminé à l'intérieur le tandis que
boucle. C'est là que la plupart du balisage HTML va, ainsi que les balises de modèle qui reposent sur la boucle, comme le titre()
.
Une boucle simple et fonctionnelle comme vous pouvez le voir sur le thème de votre thème index.php
ressemble à ça:
<? php en attendant;
fin si;
La boucle est la façon dont WordPress traite les bundles de publication dans les pages Web. Les prochains articles, sur WP_Query
et les sujets connexes, expliquez comment récupérer et utiliser ces ensembles de publications.
3. L'utilisation de base de WP_Query
Cet article couvre l'utilisation standard de WP_Query
: écriture de requêtes personnalisées en créant de nouvelles WP_Query
objets avec custom $ args
, puis parcourez ces requêtes personnalisées pour créer la sortie de page souhaitée.
Présentation de WP_Query
Point clé: création d'un WP_Query
avec Custom $ args
Le pouvoir de créer un WP_Query
l'objet est dans les arguments personnalisés que vous passez dans le processus de création. Il est préférable d'écrire ces arguments sous la forme d'un tableau associatif, qui reçoit souvent le nom standard $ args
.
Le code suivant définit trois arguments qui seront utilisés pour créer un nouveau WP_Query
. Cette requête va récupérer:
- Les 10 premiers messages,
- Dont l'auteur est l'utilisateur
Fred
, - Dont le type de poste est
Publier
.
$ args = tableau (
'posts_per_page' => 10,
'author_name' => 'fred',
'post_type' => 'post',
);
$ query = new WP_Query ($ args);
Le résultat final de ce processus est que la valeur de la variable $ query
est maintenant le bundle de posts récupéré: un objet PHP avec le contenu complet et les métadonnées des dix posts que notre WP_Query
récupéré.
Point clé: boucle via une personnalisation WP_Query
Le processus que nous utilisons pour travailler avec le bundle de messages récupéré stocké dans $ query
est presque identique à la boucle. La boucle personnalisée suivante imprime les titres des dix articles récupérés, un par un (puis réinitialise la requête avec wp_reset_postdata ()
pour éviter les erreurs plus tard dans le traitement):
while ($ query-> have_posts ())
$ query-> the_post ();
écho ''. get_the_title (). " »
// Restaurer les données de publication d'origine
wp_reset_postdata ();
4. Utilisation WP_Query
Objets sans boucle
Cette section explore WP_Query
les objets non pas comme des choses mystérieuses que nous pouvons parcourir, mais comme des objets PHP avec des propriétés bien définies. Être capable de travailler avec WP_Query
Les objets permettent directement certaines choses que vous ne pouvez pas faire avec des boucles standard.
Utilisation d'objets WP_Query sans boucle
Point clé: Travailler avec WP_Query
Objets directement
UNE WP_Query
l'objet a une structure définie et des propriétés et méthodes définies. Par exemple, pour un WP_Query
appelé $ query
, vous pouvez accéder directement au tableau des articles récupérés avec $ query-> messages
, vous pouvez obtenir le titre du premier message récupéré avec $ query-> messages[0]-> post_title
, etc.
Point clé: utilisation des opérations fonctionnelles pour modifier WP_Query
Objets
L'exemple de cet article trie les articles extraits par ordre alphabétique par contenu du message (pas une option avec des requêtes et des boucles personnalisées régulières) avec des méthodologies de tri de la programmation fonctionnelle de base, y compris array_map ()
et usort ()
. Vous pouvez apprendre ces fonctions dans l'article et dans notre introduction au PHP fonctionnel pour les développeurs WordPress.
5. Modification de l'existant WP_Query
s avec pre_get_posts
pre_get_posts
est un filtre qui permet de modifier les paramètres d'un existant WP_Query
, avant il récupère son bundle de publications à partir de la base de données WordPress, modifiant ainsi le bundle de publications qu'il récupère finalement. C'est plus pratique que d'écrire une coutume WP_Query
dans certaines situations, et dans d’autres, c’est pratiquement le seul chemin vers une solution de travail.
Utilisations pratiques de pre_get_posts
Point clé: comment modifier une requête existante avec pre_get_posts
pre_get_posts
est un filtre WordPress qui se déclenche immédiatement avant un WP_Query
L'objet récupère les publications de la base de données WordPress. L'utilisation de ce filtre permet de modifier directement la requête.
L'exemple suivant modifie le type de publication qui s'affichera sur l'index de blog d'un site de Publier
à page
:
add_filter ('pre_get_posts', 'wpshout_pages_blogindex');
fonction wpshout_pages_blogindex ($ query)
if (is_home () && $ query-> is_main_query ()):
$ query-> set ('post_type', 'page');
fin si;
Point clé: utilisation pre_get_posts
modifier les requêtes par défaut de WordPress
Les requêtes par défaut de WordPress, comme celles qui créent votre index de blog et vos pages d'archives, sont difficiles à modifier sans pre_get_posts
. La modification de ces requêtes par défaut est le principal cas d'utilisation de pre_get_posts
.
L'exemple réel suivant modifie les principales requêtes qui s'exécutent sur les pages d'archives. Ces requêtes récupèrent désormais les publications d'un nouveau type de publication personnalisé, cours
, aux côtés du Publier
résultats qu'ils renvoient normalement:
add_filter ('pre_get_posts', 'wpshout_add_custom_post_types_to_query');
fonction wpshout_add_custom_post_types_to_query ($ query)
if (is_archive () &&
$ query-> is_main_query () &&
vide ($ query-> query_vars['suppress_filters'] )
)
$ query-> set ('post_type', array ('post', 'course'));
Nous venons tout juste de commencer… de connaître WP_Query
J'espère que vous vous sentez maintenant comprendre ce que WP_Query
la classe et les objets sont, comment vous pouvez les utiliser pour obtenir à peu près n'importe quel contenu que vous voulez hors de WordPress. Il y a tellement plus de critères de sélection disponibles que nous n'en avons parlé jusqu'à présent. Il y a de bonnes chances que si vous pensez "j'aimerais avoir des messages où …" un voyage au Codex pour découvrir la manière spécifique qui fonctionne à l'intérieur WP_Query
vous fera avancer. Vous pouvez filtrer par n'importe quelle taxonomie, n'importe quel champ personnalisé, n'importe quel statut de publication et même si la publication est protégée par mot de passe.
Bien que nous ayons parlé de beaucoup de choses, nous n'avons rarement couvert beaucoup (ou aucune) des subtilités ringardes de la façon dont WordPress utilise le WP_Query
classe. Si vous êtes prêt pour un peu plus de profondeur, je recommande fortement cette conférence d'Andrew Nacin: "You Don't Know Query." (J'ai découvert cela dans le grand post de Brian Krogsgard.)
Merci d'avoir lu, et comme toujours, nous sommes heureux d'entendre les questions et commentaires ci-dessous!
Crédit d'image: pixabay
[ad_2]