Jeg er en stor fan av WP_Query-klassen: Jeg bruker den på flere klientnettsteder for å hente og vise data på en personlig måte.

Hvis du vil bruke flere løkker på en side, er den beste måten å kjøre "WP_Query" når du trenger å løkke.

Men det er en ulempe: Når WordPress kjører en loop, sender den spørsmål til databasen, som tar lengre tid og kan bremse nettstedet ditt.

I denne opplæringen vil jeg vise deg hvordan du bruker et spørsmål i mer enn en loop. Du kan gjøre dette med hovedspørringen, eller du kan bruke den samme teknikken med WP_Query.

Vi vil utforske 3 aspekter:

 

  • Lag et barnetema og en malfil.
  • Lag en malbit for sløyfeinnholdet.
  • Lag løkkene våre.

 

Men før vi oppdager sammen Hvordan installere en WordPress blogg 7 trinn et Hvordan finne, installere og aktivere en WordPress tema på bloggen din 

Så tilbake til hvorfor vi er her.

Hva trenger du

For å følge denne opplæringen, trenger du:

 

  • Fra en WordPress-installasjon for utvikling (lokalt).
  • En kodeditor.
  • Artikler på nettstedet ditt med flere kategorier tildelt
  • det sekstende temaet i WordPress
  • Et barnetema på tjue seksten installert og aktivert

 

Denne teknikken tilpasser seg også din situasjon og din WordPress tema.

Lage et barn tema

Først skal vi lage barnetemaet på tjue seksten. Jeg gjør dette fordi jeg ikke vil endre foreldretemaet.

Oppdag Hvordan du installerer en WordPress barn tema

I "wp-innhold / temaer" -mappen din, oppretter du en ny tom mappe, som du vil kalle "veileder-tema". Du kan senere velge navnet som passer deg.

I denne mappen lager du en fil som heter style.css og legger til følgende kode:

/*

Tema Navn: Tuto Tema

Tema URI: https://blogpascher.com

Beskrivelse: Tema som støtter Opplæring om å kjøre flere løkker mens du spør i databasen bare én gang. Barnetema for tjueen seksten tema.

Forfatter: Hervé

Forfatter URI: https://blogpascher.com

Mal: twentysixteen

Versjon: 1.0

*/

 

@import url ("../twentysixteen/style.css");

Lagre nå denne filen og aktiver den nye WordPress tema.

Neste trinn er å lage en malfil for kategoriene, det er det vi skal jobbe med.

Lag en kopi av "archive.php"-filen fra WordPress tema "Tjue seksten." Ikke flytt den, men lag en kopi av den. Gi det nytt navn til "category.php".

For å gå lenger, oppdage Hvordan håndtere filer og mapper WordPress

Dette blir nå malfilen for kategoriene på nettstedet ditt.

Oppretter en ny malfil

Det første trinnet er å lage en ny malfil i temaet vårt som vil inneholde en modifisert versjon av loopen "tjue seksten".

La oss også konsultere sammen Slik setter du WordPress-nettstedet ditt i vedlikeholdsmodus

Opprett en undermappe som heter "inkluderer" i undermappen. Og inni, oppretter du en ny fil med navnet "loop-category.php".

Deretter åpner du filen "template-parts / content.php" fra overordnede temamapper (tjue seksten) og finn følgende kode:

" >

 

 

 

 

 

 ', esc_url (get_permalink ())),' '); ?>

 

 

 

 

 

 

 

 <?php

 / * oversettere:% s: Navn på nåværende innlegg * /

 the_content (sprintf (

 __ ('Fortsett å lese '% s ' ', 'twentysixteen'),

 get_the_title ()

 ));

 

 wp_link_pages (matrise (

 'before' => ' '. __ ('Sider:', 'twentysixteen'). ' ',

 'after' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' '. __ ('Side', 'twentysixteen'). ' %',

 'separator' => ' , ',

 ));

 ?>

 

 

 

 

 <?php

 edit_post_link (

 sprintf (

 / * oversettere:% s: Navn på nåværende innlegg * /

 __ ('Rediger '% s ' ', 'twentysixteen'),

 get_the_title ()

 ),

 ' ',

 ''

 );

 ?>

 

Kopier denne koden til den nye filen "loop-category.php" med temaet under.

Redigering av malen-delen filen

"Twenty sixteen" loop viser mer enn hva jeg trenger, så jeg skal endre denne koden. Jeg vil bare vise kodebiten og ikke innholdet, så vi skal fjerne innholdet.

Hva er forskjellen mellom H1 og SEO-tittelen på en WordPress-artikkel? Finn ut ved å konsultere denne artikkelen.

I den nye loop-category.php-filen, finn denne koden og slett den:

<div class = "entry-content">

 <?php

 / * oversettere:% s: Navn på nåværende innlegg * /

 the_content (sprintf (

 __ ('Fortsett å lese '% s ' ', 'twentysixteen'),

 get_the_title ()

 ));

 

 wp_link_pages (matrise (

 'before' => ' '. __ ('Sider:', 'twentysixteen'). ' ',

 'after' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' '. __ ('Side', 'twentysixteen'). ' %',

 'separator' => ' , ',

 ));

 ?>

Det andre trinnet er å erstatte funksjonen "twenty_sixteen_excerpt ()" med funksjonen "the_excerpt ()", fordi versjonen av tyve seksten ikke gir en lenke til hele artikkelen.

Se også Slik viser de siste artiklene i en bestemt kategori

Finn denne linjen:

Erstatt den med denne:

Vi må også gjøre noen endringer i tittelkodene.

Endre linjen i modelldelen:

', esc_url (get_permalink ())),' '); ?>

Rediger H2-taggene for H3:

', esc_url (get_permalink ())),' '); ?>

Registrer din modell. Gå tilbake til kategorien.php-filen din. Vi fortsetter med den.

Lage løkker

Først og fremst skal vi fjerne inkluderingen av koden "tjue seksten" fra "category.php" filen, da vi trenger å bruke den nye filen.

I denne kategorien.php-filen finner du denne koden:

get_template_part ('mal-deler / innhold', get_post_format ());

Og slett.

Så vil vi lage løkkene.

I dette eksemplet vil jeg vise alle innlegg med merkelappen "innhold" ved å bruke den betingede taggen "has_tag ()". Dette betyr at jeg blir nødt til å gå gjennom tre løkker:

 

  • Den første sjekk om spørringen har lagt ut elementer med denne taggen.
  • I så fall viser det andre artiklene med denne etiketten.
  • En tredje viser artikler uten denne taggen.

 

Mellom hver loop vil jeg bruke rewind_posts () til å spole tilbake meldinger uten å tilbakestille spørringen: vi jobber alltid med hovedspørringen hver gang.

Den første sløyfen: Verifisering av artikler

I begynnelsen av loopen finner du filen "categorie.php":

while (have_posts ()): the_post ();

Over denne linjen definerer du en ny variabel kalt $ count:

$ Count = 0;

Deretter legger du inn denne koden i den sløyfen:

// sjekk om det er noen innlegg med »-koden

$ tag = 'content';

if (has_tag ($ tag)) {

 $ count + = 1;

}

Denne koden sjekker om meldingene har merkelappen "innhold", og legger i så fall 1 til telleren.

Innsiden av løkken vil være lik denne:

// Se etter innlegg i den første sløyfen.

$ Count = 0;

while (have_posts ()): the_post ();

 

// sjekk om det er noen innlegg med »-koden

$ tag = 'content';

if (has_tag ($ tag)) {

 $ count + = 1;

}

 

EndWhile;

Den andre sløyfen: Gjenopprett artikler med taggen

Det neste trinnet er å løkke for å vise artikler med denne taggen, bare hvis det er noen.

Hvis verdien for $ count for eksempel er større enn 0.

Oppdag også Hvordan tilpasse WordPress dashbordet for en klient

Legg denne betingelsen til i loopen:

hvis ($ count> 0) {

 

 rewind_posts ();

 

 ekko ' Innlegg merket med '. $ tag. ' ';

 

 

 while (have_posts ()): the_post ();

 

 if (has_tag ($ tag)) { 

 get_template_part ('inkluderer / sløyfe', 'kategori'); 

 }

 

 // Slutt løkken.

 EndWhile;

 

}

Denne koden verifiserer at antall teller er større enn null, og i så fall, spoler elementene tilbake og kjører loopen igjen. For hver vare kontrollerer den om den eier etiketten vår, og i så fall kaller den den delen av malen vi nettopp opprettet.

Den tredje sløyfen: Se resten av artiklene

Resultatet blir en siste løkke på de gjenværende artiklene. Hvis denne kategorien ikke har en artikkel med innholdskoden, vil den vise alle artiklene i kategorien.

Lær også Hvordan lage en multi-forfatter blogg og la leserne til å legge inn artikler på bloggen din

Legg til denne i den andre sløyfen:

rewind_posts ();

 

 

// Second Loop - innlegg ikke med innholdskoden

while (have_posts ()): the_post ();

 

 if (! has_tag ($ tag)) { 

 get_template_part ('inkluderer / sløyfe', 'kategori'); 

 }

 

// Slutt løkken.

slutter; ?>

Denne siste koden spoler tilbake artiklene, og kjører deretter sløyfen igjen. Denne gangen sjekker den om en artikkel ikke har "innhold" -koden, og den viser innholdet i "mal-delen".

Vi anbefaler deg også å oppdage Hvordan legge til en artikkel utskrift alternativ til WordPress

Du kan nå teste artikelsiden på bloggen din. Husk at du kan bytte filter. I denne opplæringen brukte vi "innhold" som etikettfilter, men du kan bruke det du ønsker.

Oppdag også noen premium WordPress-plugins  

Du kan bruke andre WordPress plugins for å gi et moderne utseende og for å optimalisere håndteringen av bloggen eller nettsiden din.

Vi tilbyr deg her noen premium WordPress-plugins som vil hjelpe deg å gjøre det.

1. Social Wall Addon for UserPro

UserPro kan være mye morsommere med en sosial vegg. Dette er hva Social Wall-utvidelsen bringer. Med Social Wall-pluginet kan du opprette en vegg på nettstedet ditt og gi medlemmene dine en forfriskende måte å samhandle med samfunnet på.

Le WordPress Plugin Social Wall lar brukerne dine: dele meldinger med hverandre, dele bilder, kommentere andres innlegg, brukere kan like eller mislike en melding, de kan velge å vise veggen kun for påloggede brukere eller for alle brukere, administratorer kan slette innlegg eller brukerkommentarer etc.

Last ned | dEMO | Webhotell

2. Flipkart Affiliate Plus

Flipkart Affiliate Plus er en WordPress Plugin modul som kobler WordPress-nettstedet ditt til Flipkart Affiliate API. 

Ce WordPress Plugin Det gjør det veldig enkelt å importere produktdata fra Flipkart og oppdatere dem direkte på nettstedet ditt. Flipkart Affiliate Plus er den første WordPress-pluginen for den offisielle Flipkart API. Ved å bruke den trenger du ikke bruke en tredjeparts API. Du får dermed fullt utbytte av arbeidet ditt.

Last ned | dEMO | Webhotell

3. Handlebar Google Analytics for WooCommerce

Handlingsbar Google Analytics er et WordPress-plugin som lar deg bruke noen av de beste funksjonene i Universal Analytics, inkludert: Enhanced Ecommerce and User ID Tracking. I tillegg støtter dette pluginet anonymisering av IP-adresser, produktrefusjoner, innholdsgruppering, skjemasporing osv.

Ved å bruke denne WordPress-plugin, sparer du tid i integrasjonen av kompleks Google Analytics-kode, slik at du kan fokusere på å håndtere dataene dine.

Hovedtrekkene er: rask og enkel installasjon, tilgang til 9 forbedrede e-handelsrapporter, muligheten til å studere hvordan forskjellige enheter brukes av samme bruker og hvordan kjøp gjøres, evnen til å analysere hvilke produkter som ofte refunderes, til slutt for å iverksette tiltak og mer.

Last ned | dEMO | Webhotell

Andre anbefalte ressurser

Vi inviterer deg også til å konsultere ressursene nedenfor for å komme videre i grepet og kontrollen av nettstedet og bloggen din.

 

 

konklusjonen

Her! Alt dette for denne ganske tekniske opplæringen. Håper vi har vært eksplisitte om hvordan vi skal bruke WP_Query på WordPress. Føl deg fri til å del tipset med vennene dine på dine sosiale nettverk.

Du vil imidlertid også kunne konsultere våre ressources, hvis du trenger flere elementer for å gjennomføre prosjektene dine med oppretting av nettsteder, ved å konsultere vår guide om WordPress blog oppretting.

Men i mellomtiden, fortell oss om din commentaires og forslag i den dedikerte delen.

...