Jeg er en stor fan af WP_Query-klassen: Jeg bruger den på flere klientwebsteder til at hente og vise data på en personlig måde.

Hvis du vil bruge flere sløjfer på en side, er den bedste måde at gøre det på at køre "WP_Query", når du har brug for en loop.

Men der er en ulempe: Hver gang WordPress udfører en løkke, sender den forespørgsler til databasen, som tager længere tid og kan bremse dit websted.

I denne tutorial vil jeg vise dig, hvordan du bruger en forespørgsel til mere end en løkke. Du kan gøre dette med hovedforespørgslen, eller du kan bruge den samme teknik med WP_Query.

Vi vil udforske 3 aspekter:

 

  • Opret et barnetema og en skabelonfil.
  • Opret et skabelonstykke til loopindholdet.
  • Opret vores løkker.

 

Men inden vi opdager sammen Sådan installeres en WordPress blog 7 trin et Hvordan at finde, installere og aktivere et WordPress tema på din blog 

Så tilbage til, hvorfor vi er her.

Hvad du har brug for

For at følge denne vejledning skal du:

 

  • Fra en WordPress-installation til udvikling (lokalt).
  • En kodeditor.
  • Artikler på dit websted med flere kategorier tildelt
  • WordPress's tyve seksten tema
  • Et børnetema på tyve og seksten installeret og aktiveret

 

Denne teknik tilpasser sig også din situation og din WordPress tema.

Oprettelse af et tema for børn

Først skal vi skabe børnetemaet på sekstenogtyve. Jeg gør dette, fordi jeg ikke ønsker at ændre overordnet tema.

Oplev Sådan installeres et WordPress barn tema

Opret en ny tom mappe i din "wp-indhold / temaer" -mappe, som du vil kalde "tutor-tema". Du kan senere vælge det navn, der passer til dig.

Opret en fil kaldet style.css i denne mappe og tilføj følgende kode:

/*

Tema Navn: Tuto Tema

Tema URI: https://blogpascher.com

Beskrivelse: Tema, der understøtter Vejledning om kørsel af flere sløjfer, mens du spørger i databasen kun én gang. Børnetema til tyve seksten tema.

Forfatter: Hervé

Forfatter URI: https://blogpascher.com

Skabelon: twentysixteen

Version: 1.0

*/

 

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

Gem nu denne fil og aktiver din nye WordPress tema.

Det næste trin er at oprette en skabelonfil til kategorierne, det er det, vi arbejder på.

Lav en kopi af filen "archive.php" fra WordPress tema "Seksten tyve." Flyt det ikke, men lav en kopi af det. Omdøb den til "category.php".

For at gå længere, opdage Sådan håndteres filer og mapper WordPress

Dette vil nu være skabelonfilen til kategorierne på dit websted.

Oprettelse af en ny skabelonfil

Det første trin er at oprette en ny skabelonfil i vores tema, der vil indeholde en ændret version af loopen "tyve og seksten".

Lad os også konsultere sammen Sådan placeres dit WordPress-websted i vedligeholdelsestilstand

Opret en undermappe kaldet "inkluderer" i undermappen for underordnet. Og indeni skal du oprette en ny fil med navnet "loop-category.php".

Åbn derefter filen "template-parts / content.php" fra mapperne med overordnede temaer (23) og find følgende kode:

" >

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 / * oversættere:% s: Navnet på det aktuelle indlæg * /

 the_content (sprintf (

 __ ('Fortsæt med at læse '% s ' ', 'twentysixteen'),

 get_the_title ()

 ));

 

 wp_link_pages (array (

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

 'efter' => ' ',

 'link_before' => ' ',

 'link_after' => '',

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

 'separator' => ' , ',

 ));

 ?>

 

 

 

 

 

 edit_post_link (

 sprintf (

 / * oversættere:% s: Navnet på det aktuelle indlæg * /

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

 get_the_title ()

 ),

 ' ',

 ''

 );

 ?>

 

Kopier denne kode til den nye fil "loop-category.php" i underordnet tema.

Redigering af skabelon-del-filen

"Twenty-sixteen" loop viser mere end hvad jeg har brug for, så jeg redigerer den kode. Jeg vil bare vise uddraget og ikke indholdet, så vi fjerner indholdet.

Hvad er forskellen mellem H1 og SEO-titlen på en WordPress-artikel? Find ud af det ved at læse denne artikel.

I din nye loop-category.php fil, find denne kode og slet den:

<div class = "entry-content">

 

 / * oversættere:% s: Navnet på det aktuelle indlæg * /

 the_content (sprintf (

 __ ('Fortsæt med at læse '% s ' ', 'twentysixteen'),

 get_the_title ()

 ));

 

 wp_link_pages (array (

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

 'efter' => ' ',

 'link_before' => ' ',

 'link_after' => '',

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

 'separator' => ' , ',

 ));

 ?>

Det andet trin er at erstatte funktionen "twenty_sixteen_excerpt ()" med funktionen "the_excerpt ()", fordi versionen af ​​tyve seksten ikke indeholder et link til hele artiklen.

Se også Sådan får du vist de seneste artikler i en bestemt kategori

Find denne linje:

Udskift det med dette:

Vi er også nødt til at foretage nogle ændringer af titelmærkerne.

Skift linjen i modeldelen:

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

Rediger H2-tags for H3:

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

Registrer din model. Gå derefter tilbage til din Category.php-fil, vi fortsætter med den.

Oprettelse af løkker

Først og fremmest skal vi fjerne inkluderingen af ​​koden til "tyve seksten" fra vores "category.php" fil, da vi bliver nødt til at bruge den nye fil.

Find din kode i din Category.php-fil:

get_template_part ('skabelon-dele / indhold', get_post_format ());

Og slet.

Så opretter vi sløjferne.

I dette eksempel vil jeg vise alle indlæg med tagget "indhold" ved hjælp af det betingede tag "has_tag ()". Dette betyder, at jeg bliver nødt til at gennemgå tre sløjfer:

 

  • Den første kontrol, hvis forespørgslen har indsendt poster med dette tag.
  • I så fald viser det andet artiklerne med denne etiket.
  • En tredje viser artikler uden dette tag.

 

Mellem hver løkke vil jeg bruge rewind_posts () til at spole tilbage beskeder uden at nulstille forespørgslen: vi arbejder altid med hovedforespørgslen hver gang.

Den første løkke: Bekræftelse af artikler

I starten af ​​din "kategori.php" -fil finder du begyndelsen på løkken:

mens (have_posts ()): the_post ();

Over denne linje skal du definere en ny variabel kaldet $ count:

$ count = 0;

Derefter skal du tilføje denne kode inden i den løkke:

// kontroller, om der er nogen indlæg med »-tagget

$ tag = 'indhold';

if (has_tag ($ tag)) {

 $ count + = 1;

}

Denne kode kontrollerer, om meddelelserne har etiketten "indhold", og tilføjer i så fald 1 til tælleren.

Indersiden af ​​løkken vil være den samme:

// Kontroller for indlæg i den første løkke.

$ count = 0;

mens (have_posts ()): the_post ();

 

// kontroller, om der er nogen indlæg med »-tagget

$ tag = 'indhold';

if (has_tag ($ tag)) {

 $ count + = 1;

}

 

EndWhile;

Den anden løkke: Gendan artikler med tagget

Det næste trin er at sløjfe for at vise artikler med dette mærke, kun hvis der er nogen.

For eksempel, hvis værdien af ​​$ count er større end 0.

Opdag også Sådan tilpasse WordPress dashboard for en klient

Føj denne betingelse til løkken:

hvis ($ count> 0) {

 

 rewind_posts ();

 

 ekko ' Indlæg tagget med '. $ tag. '' ';

 

 

 mens (have_posts ()): the_post ();

 

 if (has_tag ($ tag)) { 

 get_template_part ('inkluderer / loop', 'kategori'); 

 }

 

 // Afslut løkken.

 EndWhile;

 

}

Denne kode bekræfter, at $ -tællingen er større end nul, og hvis det er tilfældet, spoles elementerne tilbage og kører løkken igen. For hvert emne kontrolleres det, om det ejer vores etiket, og i så fald kalder det den del af skabelonen, vi lige har oprettet.

Den tredje løkke: Se resten af ​​artiklerne

Outputtet vil være en sidste sløjfe på de resterende artikler. Hvis denne kategori ikke har en artikel med "indhold" -tagget, vil den vise alle artiklerne i kategorien.

Lær også Sådan opretter du en blog med flere forfattere og giver dine læsere mulighed for at skrive artikler på din blog

I din anden løkke skal du tilføje dette:

rewind_posts ();

 

 

// Second Loop - indlæg, der ikke har tagget 'indhold'

mens (have_posts ()): the_post ();

 

 if (! has_tag ($ tag)) { 

 get_template_part ('inkluderer / loop', 'kategori'); 

 }

 

// Afslut løkken.

i sidste ende; ?>

Denne sidste kode spoler artiklerne tilbage og udfører derefter sløjfen igen. Denne gang kontrollerer den, om en artikel ikke har tagget "indhold", så det viser indholdet i "skabelondelen".

Vi anbefaler dig også at opdage Sådan tilføjes en udskriftsindstilling artikler om WordPress

Du kan nu teste artikelsiden på din blog. Husk, at du kan ændre filtre. I denne tutorial brugte vi "indhold" som etikelfilter, men du kan bruge det efter eget valg.

Oplev også nogle premium WordPress-plugins  

Du kan bruge andet WordPress plugins for at give et moderne udtryk og for at optimere håndteringen af ​​din blog eller hjemmeside.

Vi tilbyder dig her nogle premium WordPress-plugins, der hjælper dig med det.

1. Social Wall Addon til UserPro

UserPro kan være meget sjovere med en social mur. Dette bringer dets Social Wall-udvidelse. Med Social Wall-pluginet kan du oprette en mur på dit websted og give dine medlemmer en forfriskende måde at interagere med samfundet på.

Le WordPress plugin Social Wall giver dine brugere mulighed for at: dele beskeder med hinanden, dele billeder, kommentere andres indlæg, brugere kan like eller dislike en besked, de kan vælge at vise væggen kun for loggede brugere eller for alle brugere, administratorer kan slet indlæg eller brugerkommentarer mm.

Downloade | demo | Web-hosting

2. Flipkart Affiliate Plus

Flipkart Affiliate Plus er en WordPress plugin modul, der forbinder dit WordPress-websted med Flipkart Affiliate API. 

Ce WordPress plugin Det gør det meget nemt at importere produktdata fra Flipkart og opdatere dem direkte på din hjemmeside. Flipkart Affiliate Plus er det første WordPress-plugin til den officielle Flipkart API. Ved at bruge det behøver du ikke bruge en tredjeparts API. Du får således fuldt udbytte af dit arbejde.

Downloade | demo | Web-hosting

3. Handlingsbar Google Analytics til WooCommerce

Handlingsbar Google Analytics er et WordPress-plugin, der giver dig mulighed for at bruge nogle af de bedste funktioner i Universal Analytics, herunder: Udvidet e-handel og sporing af bruger-id. Derudover understøtter dette plugin anonymisering af IP-adresser, produkt refusioner, indholdsgruppering, formsporing osv.

Ved at bruge dette WordPress-plugin sparer du tid i integrationen af ​​kompleks Google Analytics-kode, så du kan fokusere på at styre dine data.

Dets hovedfunktioner er: hurtig og nem installation, adgang til 9 forbedrede e-handelsrapporter, evnen til at undersøge, hvordan forskellige enheder bruges af den samme bruger, og hvordan køb foretages, evnen til at analysere, hvilke produkter der ofte tilbagebetales, til sidst at træffe afhjælpende handlinger og mere.

Downloade | demo | Web-hosting

Andre anbefalede ressourcer

Vi inviterer dig også til at konsultere nedenstående ressourcer for at komme videre i grebet og kontrollen af ​​dit websted og blog.

 

 

Konklusion

Her ! Det er alt sammen for denne ret tekniske tutorial. Håber vi har været eksplicit om, hvordan man korrekt bruger WP_Query på WordPress. du er velkommen til del tipet med dine venner på dine sociale netværk.

Du vil dog også kunne konsultere vores ressourcer, hvis du har brug for flere elementer til at udføre dine projekter med oprettelse af internetsider ved at konsultere vores guide om WordPress blog oprettelse.

Men i mellemtiden, fortæl os om din kommentarer og forslag i det dedikerede afsnit.

...