Interrogation d&rsquoobjets avec wp u sans boucle

Il y a quelques semaines, j’ai beaucoup aimé l’article de David sur les bases de la programmation fonctionnelle, car il s’applique aux structures de données imbriquées WordPress. Lamp;rsquoun des avantages de travailler avec lui est que jamp;rsquoai aussi beaucoup appris. Aujourd’hui, je veux continuer à explorer le monde fonctionnel présenté par David et proposer des façons plus libres d’interagir avec une entité très importante dans WordPress: les objets de requête WP _ query. La requête wp U est un objet la requête wp u namp;rsquoest pas une entité abstraite. Au sens programmatique, camp;rsquoest un objet. Quand j’ai commencé à apprendre WordPress, la requête wp u était une abstraction mystérieuse: quelque chose que invoquez, comme un sort, afin que puissiez exécuter des fonctions comme _ Title () et content () dans une boucle personnalisée.
Cependant, la requête WP _ namp;rsquoest pas une entité abstraite Camp;rsquoest plutôt un objet au sens programmatique. Nous avons écrit les bases de la programmation orientée objet et objet Résumons rapidement la discussion: chaque objet appartient à une classe plus grande que ces objets. Par exemple, un seul objet automobile appartient à la classe automobile. Chaque objet a quelque chose en commun avec les autres objets de sa classe. Ces points communs sont divisés en attributs et méthodes. Une propriété est quelque chose sur un objet donné. Pour les objets automobiles, lamp;rsquoattribut peut être couleur: la couleur elle même est un attribut, et un objet automobile peut avoir rouge ou bleu comme valeur pour cet attribut. La méthode est ce quamp;rsquoun objet donné peut faire. Les objets automobiles peuvent avoir des méthodes Drive () et STOP (). Regardons maintenant la requête WP _ elle même. Tout objet de requête wp u a une liste complète damp;rsquoattributs et de méthodes. Les propriétés de lamp;rsquoobjet de requête wp u contiennent tous les types damp;rsquoétats et damp; qui sont réellement stockés dans lamp;rsquoobjet lui même. Vous pouvez même les lire directement en utilisant Print _ R () en PHP:
Imprimer la première ligne de lamp;rsquoobjet de requête WP
Urn Build string return $return} Obtenez lamp;rsquoobjet de requête WP _ commençons par un simple appel et créons un objet de requête WP qui contient tous les messages appartenant à la catégorie Édition.
$args = array (amp;lsquoTax _ Queryamp;rsquo = amp;gt array (array (amp;lsquoTaxonomyamp;rsquo = amp;gt Category amp;lsquo,amp;rsquo Field amp;lsquo= amp;gt Slugamp;rsquo, amp;lsquotermsamp;rsquo = amp;gt Editorialamp;rsquo,), amp;lsquoposts per pageamp;rsquo = amp;gt 1,) $ Query = new WP _ Query ($args) la requête WP _ est nouvelle pour ou si namp;rsquoêtes pas familier avec le code ci dessus, nous lamp;rsquoécrivons ici. Lamp;rsquoattribut le plus important de lamp;rsquoobjet de requête WP _ est les messages, en particulier pour nous. Cette propriété contient toutes les informations (titre du billet, auteur, date de publication, contenu, etc.) pour chaque billet récupéré par la requête. Poststocke toute cette information directement, tout comme une bibliothèque stocke des livres.
La première chose que nous devons faire est donc de créer une nouvelle variable $posts qui ne contient que le contenu de la requête WP _ qui nous intéresse, comme suit: $posts = $QUERY amp;gt posts Cela ne fait que réinitialiser le post lui même que nous avons récupéré. (au fait, c’est exactement la même chose que d’appeler la fonction get _ posts () de WordPress en utilisant le même $args et de l’enregistrer sous $posts.) Array _ Map () ing of Posts Array the posts Property of WP Query is like a library, and our WP post object is like a book. Que contient le billet? Il a une série damp;rsquoobjets WP _ Post: ces objets représentent les messages que nous Récupérons individuellement, chacun avec un ensemble différent damp;rsquoattributs, tels que post title, post Extract et post content.
Par conséquent, les propriétés post de WP _ Query ressemblent à une étagère, et nos objets post de WP ressemblent à des livres séparés, chacun avec ses propres propriétés. Dans notre cas, nous ne nous intéressons quamp;rsquoà deux attributs de chaque livre: le titre et le contenu. Camp;rsquoest là quamp;rsquoil entre dans Array _ Map (). Comme David lamp;rsquoa expliqué, Array _ Map () est la méthode parfaite pour obtenir de grands tableaux comme le nôtre.
Ou WP _ post Object Array), ne laissant que les fragments dont nous avons besoin $ Posts = array _ Map (fonction ($post) {renvoie un tableau (amp;lsquopost titleamp;rsquo = amp;gt $post amp;gt Post title, amp;lsquopost contentamp;rsquo = amp;gt $post amp;gt Post content,)} $ Position) Pour chaque $post dans $posts, il suffit de construire un nouveau tableau contenant deux éléments: Post _ title et post content. Par conséquent, nous sauvegardons tous ces résultats dans $post.
Lamp;rsquoétape suivante consiste à Trier par la première lettre du titre. Puisque $posts est un tableau associatif, nous devons utiliser un usort un peu compliqué (). Jamp;rsquoai discuté de la priorité usort (). Il demande damp;rsquoécrire une fonction de comparaison, puis de lamp;rsquoexécuter sur le tableau associatif que fournissez, de comparer et de trier tous les éléments du tableau. La fonction que nous écrivons est la suivante: Sans entrer dans les détails, cette fonction demande
Usert ($posts, amp;lsquowpshoutssortbycontentamp;rsquo) Tous nos messages seront classés par ordre alphabétique en fonction de leur contenu. Lors de la création d’une sortie en utilisant foreach () dans une requête wp u normale, nous utilisons des boucles personnalisées et des fonctions WordPress spécifiées telles que _ Title () et content (). Mais comme nous avons choisi les messages de façon personnalisée, nous pouvons utiliser la boucle foreach () pour déterminer la sortie à générer: $return =
Camp;rsquoest une façon pratique de voir sur une page: voulez en savoir plus sur le Code court, lisez ici.)
Retourner ce texte est imprimé dans le contenu de la page avec le Code court inséré pour donner le résultat final. Le but de cet article est de proposer des méthodes pour faire confiance aux objets WP _ query, non pas comme un puzzle pour générer des boucles de zone de confort damp;rsquoune manière ou damp;rsquoune autre, mais comme un objet de programmation qui peut fonctionner librement au besoin. Espérons que cela aidera à éliminer certains obstacles lorsque les fonctionnalités par défaut de wordpress ne répondent pas à vos besoins. Merci pour votre lecture!
Crédit damp;rsquoimage: catalogue damp;rsquoimages

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

ContactPress Supported By WordPress Plugins