Au cours de la dernière année, de nombreuses améliorations ont été apportées à l'interface utilisateur de WordPress: le changement dont on parle le plus a été l'amélioration de l'expérience d'écriture..
Mais si vous êtes développeur, vous voudrez en savoir moins à ce sujet et davantage sur ce qui a changé sous le capot. Ici, je vais démontrer l'un des changements les plus intéressants pour les développeurs: des améliorations à certains types de requêtes..
Les principales modifications sont les suivantes:
Regardons les changements.
Dans les versions précédentes de WordPress, vous pourriez utiliser un ET
ou OU
instruction pour définir les requêtes pour les termes de taxonomie, les dates et les métadonnées. Ainsi, par exemple, les arguments suivants seront utilisés dans une requête sur un site de recettes qui génère des recettes de petit-déjeuner rapides:
'post', 'tax_query' => array ('relation' => 'AND', array ('taxonomy' => 'speed', 'field' => 'slug', 'terms' => array ('quick' )), array ('taxonomy' => 'repas', 'field' => 'slug', 'terms' => array ('breakfast')))); $ query = new WP_Query ($ args); ?>
Cela cherche le 'la vitesse'
et 'repas'
taxonomies et sorties de postes avec le 'rapide'
et 'petit déjeuner'
termes respectivement.
Mais si vous vouliez écrire une requête plus complexe? Supposons que vous vouliez des recettes rapides pour le petit-déjeuner et des recettes lentes pour le déjeuner (peut-être pour quelqu'un qui veut préparer son petit-déjeuner rapidement afin d'avoir plus de temps pour préparer son déjeuner!). Vous ne voulez pas utiliser un simple ET
instruction de joindre tous les éléments de votre requête, car vous obtiendrez alors des recettes lentes pour le petit-déjeuner et déjeuner, par exemple. Et vous ne voulez pas utiliser un OU
déclaration liant tous les termes, car vous obtiendrez toutes sortes de recettes ne contenant qu'un des termes recherchés, ainsi que d'autres que vous souhaitez filtrer.
La bonne nouvelle est que maintenant vous pouvez le faire. Pour interroger des recettes rapides pour le petit-déjeuner et des recettes lentes pour le déjeuner, utilisez les méthodes suivantes:
array ('relation' => 'OR', array ('relation' => 'AND', array ('taxonomy' => 'meal', 'field' => 'slug', 'terms' => array (' breakfast ')), array (' taxonomy '=>' speed ',' field '=>' slug ',' terms '=> array (' quick '))), array (' relation '=>' AND ', array ('taxonomy' => 'repas', 'field' => 'slug', 'terms' => array ('lunch')), array ('taxonomy' => 'speed', 'field' => ' slug ',' terms '=> array (' slow ')))))); $ query = new WP_Query ($ args); ?>
Ici, j'ai utilisé deux tableaux imbriqués:
OU
, parce que nous recherchons des articles qui sont soit des recettes de petit déjeuner rapides, soit des recettes de repas lents.ET
parce que vous voulez que le message ait les deux termes.ET
.Bien sûr, vous pouvez modifier vos requêtes pour inclure plusieurs termes et valeurs de taxonomie, et devenir aussi complexe que nécessaire..
L'exemple que j'ai donné ci-dessus utilise des termes de taxonomie, mais cette fonctionnalité a également été ajoutée aux requêtes de date et de métadonnées. Les métadonnées sont potentiellement où les choses pourraient devenir intéressantes, car vous avez la possibilité de tant de valeurs.
La syntaxe fonctionne exactement de la même manière pour les requêtes de date et de métadonnées. Pour les méta-requêtes que vous remplacez tax_query
avec meta_query
et utilise 'clé'
et 'valeur'
comme paramètres. Pour les requêtes de date que vous remplacez tax_query
avec date_query
et utiliser les paramètres de date fournis dans le codex WordPress.
Pour interroger des commentaires, vous utilisez le WP_Comment_Query
classe à la place de la plus couramment utilisée WP_Query
classe. Huit nouveaux paramètres ont été ajoutés à cette classe:
'author__in'
: identifier l'auteur du commentaire (ou un tableau d'auteurs)'author__not_in'
: identifie les commentaires non par un certain auteur (ou un groupe d'auteurs)'post_author__in'
: identifie l'auteur (ou le groupe d'auteurs) de la publication sur laquelle le commentaire a été fait'post_author__not_in'
: exclut les commentaires faits sur des articles écrits par un auteur particulier ou par un groupe d’auteurs'comment__in'
: commentaires avec un certain identifiant ou un tableau d'identifiants'comment__not_in'
: exclure les commentaires avec un certain ID ou un tableau d'ID'post__in'
: commentaires faits sur un article ou un tableau d'articles (en utilisant l'identifiant de l'article)'post__not_in'
: exclure les commentaires faits sur un post ou un tableau de posts (en utilisant l'identifiant du post)Les valeurs utilisées sont l'identifiant de l'auteur, l'identifiant de commentaire ou l'identifiant de publication, selon le cas..
Notez que le WP_Comment_Query
classe supporte maintenant les requêtes imbriquées.
Il y a également eu quelques corrections de bugs qui pourraient vous être utiles:
date_query
a été utilisé avec un tax_query
ou meta_query
a été réparé.'orderby' => 'meta_value'
a été utilisé en passant un 'meta_query'
avec le OU
relation en WP_Query
, cela utilisé pour casser la requête. Cela a été corrigé.Si vous voulez connaître tous les détails, vous pouvez le trouver sur le site principal de make WordPress.
Ces améliorations apportées aux requêtes permettent à WordPress de franchir une étape supplémentaire vers la capacité totale du système de gestion de contenu. La possibilité d'utiliser des requêtes imbriquées signifie que vous pouvez générer du contenu de manière beaucoup plus flexible et complexe. Il sera intéressant de voir comment les gens les utilisent!