Få mest mulig ut av innleggformater Content Organization Tools

Spør etter postformat

Jeg vet hva jeg sa før, om innleggformater er ikke et organisatorisk verktøy, men så lenge du merker videoene dine som videoer, bilder som bilder etc., kan du også bruke det til å organisere nettstedet ditt. Å legge til en overflødig taksonomi gir ingen mening. Spesielt siden postformater er satt ved hjelp av taksonomien "post_format."
Dette betyr at vi kan bruke en lignende spørring til den vi brukte i det forrige trinnet for å spørre etter taksonomi, denne gangen ved bruk av "post_format" taksonomi for å søke etter taksonomier. Igjen vil vi bruke tax_query argument for WP_Query. For å spørre etter alle innlegg med sitatformat, ville vi opprette vår WP_Query som dette:
$ args = array ('post_type' => 'post', 'tax_query' => array (array ('taxonomy' => 'post_format', 'field' => 'slug', 'terms' => 'postformat -sitat', ) ) ); $ query = nytt WP_Query ($ args);

Merk at i eksemplet ovenfor er termen prefixed med "post-format-". Vær også oppmerksom på at vi kan sende en rekke vilkår til vilkårene argumenter i tax_query for å søke etter mer enn ett format.

Lag en postformatmeny

Hvis du har mange innlegg på nettstedet ditt i noen postformater, vil du sannsynligvis markere hvert format. Hvis du for eksempel er en visuell artist som bruker bloggen din til å vise frem videoer og bilder, og bruker postformater, kan du opprette en meny med innleggene dine i formatet video og bilde separat.

Det første trinnet er å sette opp en rekke argumenter for WP_Query, akkurat som den jeg viste deg over, unntatt denne gangen uten det bestemte innleggformatet som er angitt i "vilkår" -argumentet til tax_query og en rekke formater, sammen med etiketter som skal brukes i menyutgangen.

Her er hva disse to arrays ser ut som:

// initial WP_Query args $ args = array ('post_type' => 'innlegg', 'posts_per_page' => 5, 'tax_query' => array (array ('taxonomy' => 'post_format', 'field' => ' slug ',))); // formater for å vise $ formats = array ('name' => 'video', 'label' => 'Videoer'), array ('name' => 'image', 'label' => 'Bilder' ),);

Med disse to arrays kan vi lage en for hver sløyfe ut av den andre gruppen, for å søke etter innlegg med det nåværende formatet og utføre en liste over innleggene. Dette vil innebære, i hver iterasjon av sløyfen, å legge til vilkårene argumentet bruker sett(), skaper en forekomst av WP_Query, looping gjennom det, og deretter unsetting vilkårene argumentet.

Innsiden av WP_Query mens sløyfe vi kan bruke get_term_link () å opprette en lenke til postformatets arkivside, som egentlig er et taksonomisk termarkiv. For de enkelte innleggene kan vi bruke get_permalink () å opprette linken til innlegget. Her ser det ut som sløyfen ser ut:

ekko '';

Sørg for å legge til flere klasser eller IDer til merket for å få denne generiske koden til å ligne en meny i temaet ditt, og vær så snill å erstatte formatene som blir vist i henhold til dine behov.

Fjerne postformater fra hovedblogg-indeksen

Nå som du har en meny for dine innleggformater, kan det være lurt å ekskludere innlegg av bestemte formater fra hovedbloggindeksen din. Dette vil tillate deg å bruke bloggen din som en blogg og postformatmenyen for å markere videoer, bilder, lydfiler eller andre formaterte innlegg.

For å beholde innlegg i et bestemt format, må du bruke en pre_get_post filter for å legge til en tax_query til hovedspørsmålet. De tax_query vil se ut som de jeg allerede viste deg, men vil ha et ekstra argument for å ekskludere innlegg med formatet, ved hjelp av "operatør" -argumentet. Ved å sette operatøren til "IKKE IN" vil eventuelle tilsvarende innlegg bli ekskludert.

Denne spørringen vil også bli pakket inn i betingelsene is_home () For å sikre at den bare påvirker hovedbloggindeksen. 

Her ser du hvordan handlings- og tilbakeringingsfunksjonen ser ut:

add_action ('pre_get_posts', 'slug_no_videos_home'); funksjonen slug_no_videos_home ($ query) if ($ query-> is_home () && $ query-> is_main_query ()) $ tax_query = array (array ('taxonomy' => 'post_format', 'field' => 'slug' , 'terms' => 'post-format-video', 'operator' => 'IKKE IN',))); $ query-> set ('tax_query', $ tax_query);  returner $ spørring; 

Som du kan se i tilbakeringingen, definerer vi en tax_query, bruker IKKE I operatør og bruk deretter innstilt metode for å legge til tax_query til hovedspørsmålet i bloggindeksen.

Gå frem og format

Gjennom denne femdelte serien har du lært hva innleggformater er, hvordan du legger til støtte for dem til temaet ditt, hvordan du bruker dem i loop, målrett dem med tilpasset CSS, masseoppdater dem og bruk dem som innholdsorganisering verktøy. 

Bevæpnet med denne kunnskapen, kan du lage morsomme temaer som gjør dataportabilitet til en bris.