Interrogation par format postal
tax_query
argument pour WP_Query
. Pour interroger tous les articles au format devis, nous créerions notre WP_Query
comme ça:$ args = array ('post_type' => 'post', 'tax_query' => array (array ('taxonomy' => 'post_format', 'field' => 'slug', 'terms' => 'post-format -citation', ) ) ); $ query = new WP_Query ($ args);
Notez que dans l'exemple ci-dessus, le terme est préfixé par "post-format-". Gardez également à l’esprit que nous pouvons passer un tableau de termes à l’argument des termes dans le tax_query
afin d'interroger par plus d'un format.
Si vous avez beaucoup de publications sur votre site dans quelques formats, vous voudrez probablement mettre en évidence chaque format. Par exemple, si vous êtes un artiste visuel utilisant votre blog pour afficher vos vidéos et vos images et que vous utilisez des formats de publication, vous pouvez créer un menu avec vos publications au format vidéo et image séparément..
La première étape consiste à configurer un tableau d’arguments pour WP_Query
, tout comme celui que je vous ai montré ci-dessus, sauf que cette fois sans pour autant le format de message spécifique spécifié dans l'argument "terms" du tax_query
et un éventail de formats, ainsi que des étiquettes à utiliser dans la sortie du menu.
Voici à quoi ressemblent ces deux tableaux:
// WP_Query initial args $ args = array ('post_type' => 'post', 'posts_per_page' => 5, 'tax_query' => array (array ('taxonomy' => 'post_format', 'field' => ' limace ',))); // formats pour afficher $ formats = array (array ('name' => 'video', 'label' => 'Videos'), array ('name' => 'image', 'label' => 'Photos' ),
Avec ces deux tableaux, nous pouvons créer un pour chaque
boucle du deuxième tableau, pour rechercher des publications au format actuel et générer une liste des publications. Cela impliquera, à chaque itération de la boucle, l’ajout de l’argument termes en utilisant ensemble()
, créer une instance de WP_Query
, en boucle, puis en désactivant l'argument des termes.
À l'intérieur de la WP_Query
en boucle, nous pouvons utiliser get_term_link ()
pour créer un lien vers la page d’archive du format de publication, qui est en réalité une archive de termes de taxonomie. Pour les messages individuels, nous pouvons utiliser get_permalink ()
pour créer le lien vers le post. Voici à quoi ressemble la boucle:
écho '';
Assurez-vous d'ajouter des classes ou des identifiants supplémentaires à la balise pour que ce code générique ressemble à un menu de votre thème et n'hésitez pas à remplacer les formats affichés en fonction de vos besoins..
Maintenant que vous avez un menu pour vos formats de publication, vous pouvez exclure les publications de certains formats de votre index de blog principal. Cela vous permettra d'utiliser votre blog comme blog et le menu de format de publication pour mettre en surbrillance des vidéos, des images, des fichiers audio ou d'autres publications formatées..
Pour conserver les messages d’un format spécifique, vous devrez utiliser un pre_get_post
filtre pour ajouter un tax_query
à la requête principale. le tax_query
ressemblera à ceux que je vous ai déjà montrés, mais aura un argument supplémentaire pour exclure les publications au format, en utilisant l'argument "opérateur". En définissant l'opérateur sur "NOT IN", tout message correspondant sera exclu.
Cette requête sera également encapsulée dans le conditionnel is_home ()
pour s'assurer qu'il n'affecte que l'index principal du blog.
Voici à quoi ressemblent les fonctions action et rappel:
add_action ('pre_get_posts', 'slug_no_videos_home'); function slug_no_videos_home ($ requête) if ($ requête-> is_home () && requête $ -> is_main_query ()) $ tax_query = array (tableau ('taxonomy' => 'post_format', 'field' => 'slug' , 'terms' => 'post-format-video', 'operator' => 'NOT IN',)); $ query-> set ('tax_query', $ tax_query); return $ query;
Comme vous pouvez le voir dans le rappel, nous définissons un tax_query
, en utilisant le PAS DEDANS
opérateur puis utilisez la méthode set pour ajouter le tax_query
à la requête principale de l'index du blog.
Tout au long de cette série en cinq parties, vous avez appris quels sont les formats de publication, comment les ajouter à votre thème, comment les utiliser dans la boucle, les cibler avec du CSS personnalisé, les mettre à jour en bloc et les utiliser pour organiser le contenu. outil.
Fort de ces connaissances, vous pouvez créer plusieurs thèmes puissants qui facilitent la portabilité des données..