Få ut det mesta av postformat innehållsorganisationsverktyg

Fråga efter postformat

Jag vet vad jag sa tidigare om postformat som inte är ett organisatoriskt verktyg, men så länge du markerar dina videoklipp som videoklipp, bilder som bilder etc. kan du också använda det för att organisera din webbplats. Att lägga till en överflödig taxonomi ger ingen mening. Speciellt eftersom postformat är inställda med hjälp av taxonomin "post_format".
Det betyder att vi kan använda en liknande fråga till den som vi använde i föregående steg för att söka efter taxonomi, denna gång med hjälp av taxonomin "post_format" för att söka efter taxonomier. Återigen kommer vi att använda tax_query argument för WP_Query. För att fråga om alla inlägg med citatformat skulle vi skapa vår WP_Query så här:
$ args = array ('post_type' => 'post', 'tax_query' => array (array ('taxonomy' => 'post_format', 'field' => 'slug', 'terms' => 'postformat -Citat', ) ) ); $ query = nytt WP_Query ($ args);

Observera att i det ovanstående exemplet är termen prefixad med "postformat-". Tänk också på att vi kan skicka en rad termer till villkoren för argumentet i tax_query för att kunna fråga med mer än ett format.

Skapa en postformatmeny

Om du har många inlägg på din webbplats i några postformat vill du förmodligen markera varje format. Om du till exempel är en bildkonstnär som använder din blogg för att visa upp dina videoklipp och bilder och använder postformat kan du skapa en meny med dina inlägg i formatvideo och bild separat.

Det första steget är att skapa en rad argument för WP_Query, precis som den jag visade dig ovan, förutom den här tiden utan det specifika postformatet som anges i "terms" -argumentet för tax_query och en rad olika format, tillsammans med etiketter som ska användas i menyutmatningen.

Här är vad dessa två arrayer ser ut som:

// initial WP_Query args $ args = array ('post_type' => 'inlägg', 'posts_per_page' => 5, 'tax_query' => array (array ('taxonomy' => 'post_format', 'field' => ' slug ',)))); // format för att visa $ formats = array ('name' => 'video', 'label' => 'Videos'), array ('namn' => 'bild', 'label' => 'Foton' ),);

Med dessa två arrays kan vi skapa en för varje loop ur den andra matrisen, för att fråga efter inlägg med det aktuella formatet och utmatning av en lista över inläggen. Detta kommer att innebära, i varje iteration av slingan, att lägga till termerna argument med uppsättning(), skapa en instans av WP_Query, looping igenom det, och sedan unsetting av villkor argumentet.

Inne i WP_Query medan slingan vi kan använda get_term_link () att skapa en länk till postformatets arkivsida, vilket egentligen är ett taksonomi term arkiv. För de enskilda inläggen kan vi använda get_permalink () för att skapa länken till inlägget. Här ser du slingan ut:

eko "';

Var noga med att lägga till några ytterligare klasser eller ID-skivor i markeringen så att den här generiska koden ser ut som en meny i ditt tema och kan du ersätta de format som visas enligt dina behov.

Ta bort inläggsformat från huvudblogsindexet

Nu när du har en meny för dina inlägg, kanske du vill utesluta inlägg av vissa format från ditt huvudbloggarindex. Det här låter dig använda din blogg som blogg och postformatmenyn för att markera videor, bilder, ljudfiler eller andra formaterade inlägg.

För att behålla inlägg i ett visst format måste du använda en pre_get_post filtrera för att lägga till en tax_query till huvudfrågan. De tax_query kommer att likna dem som jag redan visat dig, men kommer att ha ett extra argument för att utesluta inlägg med formatet med användarens argument. Genom att ställa in operatören till "INTE IN" kommer eventuella matchande inlägg att uteslutas.

Den här frågan kommer också att förpackas i villkoret är hemma() för att säkerställa att det bara påverkar huvudblogsindexet. 

Här är vad funktions- och återuppringningsfunktionen ser ut:

add_action ('pre_get_posts', 'slug_no_videos_home'); funktionen slug_no_videos_home ($ query) if ($ query-> is_home () && $ query-> is_main_query ()) $ tax_query = array (array ('taxonomy' => 'post_format', 'field' => 'slug' , 'terms' => 'postformat-video', 'operator' => 'INTE IN',))); $ query-> set ('tax_query', $ tax_query);  returnera $ query; 

Som du kan se i återuppringningen definierar vi en tax_query, använda INTE I operatör och använd sedan inställd metod för att lägga till tax_query till huvudfrågan i bloggindexet.

Gå framåt och format

Genom den här femdelade serien har du lärt dig vad postformat är, hur man lägger till stöd för dem i ditt tema, hur man använder dem i loopen, riktar dem med anpassad CSS, uppdaterar dem i bulk och använder dem som innehållsorganisation verktyg. 

Beväpnad med den här kunskapen kan du skapa moderna teman som gör dataportabilitet en bris.