Jag är ett stort fan av WP_Query-klassen: jag använder den på flera kundwebbplatser för att hämta och visa data på ett anpassat sätt.

Om du vill använda flera slingor på en sida är det bästa sättet att köra "WP_Query" när du behöver loop.

Men det finns en nackdel: När WordPress kör en slinga skickar den frågor till databasen, som tar längre tid och kan bromsa din webbplats.

I den här tutorialen kommer jag att visa dig hur du använder en fråga för mer än en slinga. Du kan göra detta med huvudfrågan eller så kan du använda samma teknik med WP_Query.

Vi kommer att utforska 3 aspekter:

 

  • Skapa ett barntema och en mallfil.
  • Skapa en mallbit för loopinnehållet.
  • Skapa våra öglor.

 

Men innan vi upptäcker tillsammans Hur man installerar en Wordpress-blogg 7 steg et Hur man hittar, installera och aktivera en Wordpress tema på din blogg 

Tillbaka till varför vi är här.

Vad du behöver

För att följa denna tutorial behöver du:

 

  • Från en WordPress-installation för utveckling (lokalt).
  • En kodredigerare.
  • Artiklar på din webbplats med flera kategorier tilldelade
  • WordPress's tjugo sexton tema
  • Ett barntema på tjugo sexton installerat och aktiverat

 

Denna teknik anpassar sig också till din situation och till din Wordpress tema.

Skapa ett barntema

Först ska vi skapa barn-temat tjugo sexton. Jag gör det här för att jag inte vill ändra föräldratema.

Upptäck Hur man installerar en Wordpress barn tema

Skapa en ny tom mapp i din "wp-content / teman" -mapp som du kommer att kalla "tutor-tema". Du kan senare välja det namn som passar dig.

Skapa en fil som heter style.css i den här mappen och lägg till följande kod:

/*

Temanamn: Tutotema

Tema URI: https://blogpascher.com

Beskrivning: Tema för att stödja Tutorial om att köra flera slingor när du frågar databasen bara en gång. Barn tema för tjugo sexton tema.

Författare: Hervé

Författare URI: https://blogpascher.com

Mall: twentysixteen

Version: 1.0

*/

 

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

Spara nu den här filen och aktivera din nya Wordpress tema.

Nästa steg är att skapa en mallfil för kategorierna, det är det vi ska arbeta med.

Gör en kopia av filen "archive.php" från Wordpress tema "Tjugo sexton." Flytta den inte utan gör en kopia av den. Byt namn på den till "category.php".

För att gå längre, upptäck Hur man hanterar filer och mappar Wordpress

Detta kommer nu att vara mallfilen för kategorierna på din webbplats.

Skapa en ny mallfil

Det första steget är att skapa en ny mallfil i vårt tema som kommer att innehålla en modifierad version av loopen "tjugo sexton".

Låt oss också konsultera tillsammans Hur du sätter din WordPress-webbplats i underhållsläge

Skapa en undermapp med namnet "inkluderar" i undermappen. Och inuti, skapa en ny fil med namnet "loop-category.php".

Öppna sedan filen "template-parts / content.php" från mapparna för överordnade teman (tjugo sexton) och hitta följande kod:

" >

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 / * översättare:% s: Namnet på nuvarande inlägg * /

 the_content (sprintf (

 __ ('Fortsätt läsa '% s ' ', 'twentysixteen'),

 get_the_title ()

 ));

 

 wp_link_pages (array (

 'före' => ' '. __ ('Pages:', 'twentysixteen'). ' ',

 'efter' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' '. __ ('Sida', 'tjugosixton'). ' %',

 'separator' => ' , ',

 ));

 ?>

 

 

 

 

 

 edit_post_link (

 sprintf (

 / * översättare:% s: Namnet på nuvarande inlägg * /

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

 get_the_title ()

 ),

 ' ',

 ''

 );

 ?>

 

Kopiera den här koden till den nya "loop-category.php" -filen i underordnatema.

Redigering av mall-del-filen

"Tjugo sexton" slingan visar mer än vad jag behöver, så jag ska ändra den koden. Jag vill bara visa kodavsnittet och inte innehållet, så vi tar bort innehållet.

Vad är skillnaden mellan H1 och SEO-titeln på en WordPress-artikel? Ta reda på det genom att läsa den här artikeln.

I din nya loop-category.php-fil, hitta den här koden och ta bort den:

<div class = "entry-content">

 

 / * översättare:% s: Namnet på nuvarande inlägg * /

 the_content (sprintf (

 __ ('Fortsätt läsa '% s ' ', 'twentysixteen'),

 get_the_title ()

 ));

 

 wp_link_pages (array (

 'före' => ' '. __ ('Pages:', 'twentysixteen'). ' ',

 'efter' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' '. __ ('Sida', 'tjugosixton'). ' %',

 'separator' => ' , ',

 ));

 ?>

Det andra steget är att ersätta funktionen "twenty_sixteen_excerpt ()" med funktionen "the_excerpt ()", eftersom versionen av tjugo sexton inte ger en länk till hela artikeln.

Se också Hur visa nya artiklar i en viss kategori

Hitta den här raden:

Byt ut det med detta:

Vi måste också göra några ändringar av titeltaggarna.

Ändra raden i modelldelen:

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

Redigera H2-taggarna för H3:

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

Registrera din modell. Gå sedan tillbaka till din Category.php-fil. Vi fortsätter med den.

Skapa slingor

Först och främst tar vi bort införandet av koden för "tjugo sexton" från vår "category.php" -fil, eftersom vi måste använda den nya filen.

Hitta din kod i din kategori.php-fil:

get_template_part ('mall-delar / innehåll', get_post_format ());

Och radera.

Då skapar vi öglorna.

I det här exemplet kommer jag att visa alla inlägg med taggen "innehåll" med den villkorliga taggen "has_tag ()". Det betyder att jag måste gå igenom tre slingor:

 

  • Den första kontrollen om frågan har publicerat objekt med den här taggen.
  • I så fall visar den andra artiklarna med den här etiketten.
  • En tredje visar artiklar utan denna tagg.

 

Mellan varje slinga kommer jag att använda rewind_posts () för att spola tillbaka meddelanden utan att återställa frågan: vi arbetar alltid med huvudfrågan varje gång.

Den första slingan: Verifiering av artiklar

I din "kategori.php" -fil, hitta början på loopen:

while (have_posts ()): the_post ();

Definiera en ny variabel ovanför denna rad som kallas $ count:

$ Count = 0;

Lägg sedan till den här koden i den slingan:

// kontrollera om det finns några inlägg med »-taggen

$ tag = 'content';

if (has_tag ($ tag)) {

 $ count + = 1;

}

Denna kod kontrollerar om meddelandena har etiketten "innehåll" och lägger till 1 i räknaren om så är fallet.

Insidan av slingan kommer att likna detta:

// Sök efter inlägg i den första slingan.

$ Count = 0;

while (have_posts ()): the_post ();

 

// kontrollera om det finns några inlägg med »-taggen

$ tag = 'content';

if (has_tag ($ tag)) {

 $ count + = 1;

}

 

EndWhile;

Den andra slingan: Återställ artiklar med taggen

Nästa steg är att slinga för att visa artiklar med den taggen, bara om det finns några.

Till exempel, om värdet på $ count är större än 0.

Upptäck också Hur man anpassa Wordpress instrumentbrädan för en klient

Lägg till detta villkor i loopen:

if ($ count> 0) {

 

 rewind_posts ();

 

 eko ' Inlägg taggade med '. $ tag. '' ';

 

 

 while (have_posts ()): the_post ();

 

 if (has_tag ($ tag)) { 

 get_template_part ('inkluderar / slinga', 'kategori'); 

 }

 

 // Avsluta slingan.

 EndWhile;

 

}

Den här koden verifierar att $ räkningen är större än noll och i så fall spolas tillbaka objekten och kör slingan igen. För varje objekt kontrollerar den om den äger vår etikett och i så fall kallar den den del av mallen vi just skapade.

Den tredje slingan: Visa resten av artiklarna

Resultatet blir en sista slinga på de återstående artiklarna. Om denna kategori inte har en artikel med "innehåll" -taggen, kommer den att visa alla artiklar i kategorin.

Lär dig också Hur man skapar en multi-författare blogg och låt dina läsare att skicka artiklar på din blogg

Lägg till detta i din andra slinga:

rewind_posts ();

 

 

// Second Loop - inlägg som inte har taggen "content"

while (have_posts ()): the_post ();

 

 if (! has_tag ($ tag)) { 

 get_template_part ('inkluderar / slinga', 'kategori'); 

 }

 

// Avsluta slingan.

slutligen; ?>

Den sista koden spolar tillbaka artiklarna och kör sedan slingan igen. Den här gången kontrollerar den om en artikel inte har taggen "innehåll", så den visar innehållet i "malldelen".

Vi föreslår också att du upptäcker Hur man lägger till ett utskriftsalternativ artiklar om Wordpress

Du kan nu testa artikelsidan på din blogg. Kom ihåg att du kan byta filter. I denna handledning använde vi "innehåll" som etikettfilter, men du kan använda det du väljer.

Upptäck också några premium WordPress-plugins  

Du kan använda andra Wordpress plugins för att ge ett modernt utseende och för att optimera hanteringen av din blogg eller hemsida.

Vi erbjuder dig här några premium WordPress-plugins som hjälper dig att göra det.

1. Social Wall Addon för UserPro

UserPro kan vara mycket roligare med en social vägg. Detta är vad dess Social Wall-tillägg ger. Med pluginet Social Wall kan du skapa en vägg på din webbplats och ge dina medlemmar ett uppfriskande sätt att interagera med samhället.

Le Wordpress plugin Social Wall låter dina användare: dela meddelanden med varandra, dela bilder, kommentera andras inlägg, användare kan gilla eller ogilla ett meddelande, de kan välja att visa väggen endast för inloggade användare eller för alla användare, administratörer kan radera inlägg eller användarkommentarer etc.

Ladda ner | demo | webbhotell

2. Flipkart Affiliate Plus

Flipkart Affiliate Plus är en Wordpress plugin modul som kopplar din WordPress-webbplats till Flipkart Affiliate API. 

Ce Wordpress plugin Det gör det mycket enkelt att importera produktdata från Flipkart och uppdatera den direkt på din webbplats. Flipkart Affiliate Plus är det första WordPress-pluginet för det officiella Flipkart API. Genom att använda det behöver du inte använda ett tredje parts API. Du får alltså full nytta av ditt arbete.

Ladda ner | demo | webbhotell

3. Handlingsbar Google Analytics för WooCommerce

Handlingsbar Google Analytics är ett WordPress-plugin som låter dig använda några av de bästa funktionerna i Universal Analytics, inklusive: Enhanced Ecommerce and User ID Tracking. Dessutom stöder detta plugin anonymisering av IP-adresser, produktåterbetalningar, innehållsgruppering, formulärspårning etc.

Genom att använda detta WordPress-plugin sparar du tid i integrationen av komplex Google Analytics-kod, så att du kan fokusera på att hantera dina data.

Dess huvudfunktioner är: snabb och enkel installation, tillgång till 9 förbättrade e-handelsrapporter, möjligheten att studera hur olika enheter används av samma användare och hur inköp görs, förmågan att analysera vilka produkter som återbetalas oftast, slutligen för att vidta korrigerande åtgärder och mer.

Ladda ner | demo | webbhotell

Andra rekommenderade resurser

Vi inbjuder dig också att konsultera resurserna nedan för att gå vidare i greppet och kontrollen av din webbplats och blogg.

 

 

Slutsats

Här! Det är allt för denna ganska tekniska handledning. Hoppas att vi har varit explicita om hur man korrekt använder WP_Query på WordPress. Känn dig fri att dela tipset med dina vänner på dina sociala nätverk.

Du kommer dock också att kunna konsultera vår medel, om du behöver fler element för att genomföra dina projekt för att skapa webbplatser, genom att konsultera vår guide om WordPress blogg skapande.

Men under tiden, berätta om din commentaires och förslag i det dedikerade avsnittet.