Sunt un mare fan al clasei WP_Query: o folosesc pe mai multe site-uri web client pentru a prelua și afișa date într-un mod personalizat.

Dacă doriți să utilizați mai multe bucle pe o pagină, cel mai bun mod de a face acest lucru este să rulați „WP_Query” de fiecare dată când trebuie să rulați o buclă.

Dar există un dezavantaj: de fiecare dată când WordPress rulează o buclă, trimite interogări la baza de date, ceea ce durează mai mult și poate încetini site-ul tău.

În acest tutorial, vă voi arăta cum să utilizați o interogare pentru mai multe bucle. Puteți face acest lucru cu interogarea principală sau puteți utiliza aceeași tehnică cu WP_Query.

Vom explora 3 aspecte:

 

  • Creați o temă copil și un fișier șablon.
  • Creați o parte șablon pentru conținutul buclei.
  • Creați buclele noastre.

 

Dar înainte să descoperim împreună Cum se instalează un blog WordPress pași 7 et Cum de a găsi, a instala și a activa o temă WordPress pe blog-ul dvs. 

Apoi înapoi la motivul pentru care suntem aici.

De ce ai nevoie

Pentru a urma acest tutorial, veți avea nevoie de:

 

  • O instalare de WordPress pentru dezvoltare (local).
  • Un editor de coduri.
  • Articole de pe site-ul dvs. cu mai multe categorii atribuite
  • tema Douăzeci și șaisprezece WordPress
  • O temă pentru douăzeci și șaisprezece copii instalată și activată

 

Această tehnică se adaptează, de asemenea, la situația dvs. și la dvs WordPress temă.

Crearea unei teme pentru copil

În primul rând, vom crea tema copilului de douăzeci și șaisprezece. Fac asta pentru că nu vreau să modific tema părinte.

Descopera Cum se instalează o temă WordPress copil

În folderul „wp-content/themes”, creați un nou folder gol, pe care îl veți numi „tuto-theme”. Puteți alege ulterior numele care vi se potrivește.

În acest folder, creați un fișier numit style.css și adăugați următorul cod:

/*

Numele temei: Tema Tuto

URI temei: https://blogpascher.com

Descriere: Temă pentru a sprijini tutorialul despre rularea mai multor bucle în timp ce interogați baza de date o singură dată. Tema copil pentru tema Twenty Sixteen.

Autor: Hervé

URI autor: https://blogpascher.com

Șablon: douăzeci și șaisprezece

Versiune: 1.0

*/

 

@import url(„../twentysixteen/style.css”);

Acum salvați acest fișier și activați-vă noul WordPress temă.

Următorul pas este crearea unui fișier șablon pentru categorii, la care vom lucra.

Faceți o copie a fișierului „archive.php” din WordPress temă "Două mii șaisprezece." Nu-l muta, ci face o copie a lui. Redenumiți-l „category.php”.

Pentru a merge mai departe, descoperă Cum de a gestiona fișiere și foldere WordPress

Acesta va fi acum fișierul șablon pentru categoriile de site-uri web.

Crearea unui nou fișier șablon

Primul pas este să creați un nou fișier șablon în tema noastră care va conține o versiune modificată a buclei „douăzeci și șaisprezece”.

Haideți să ne consultăm împreună Cum să puneți site-ul dvs. WordPress în modul Întreținere

În folderul cu tema copil, creați un subdosar numit „include”. Și în interior, creați un fișier nou numit „loop-category.php”.

Apoi, deschideți fișierul „template-parts/content.php” din folderele cu tema părinte (douăzeci și șaisprezece) și găsiți următorul cod:

» >

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 /* traducători: %s: numele postării curente */

 the_content( sprintf(

 __( „Continuați să citiți „%s” „, „douăzeci și șaisprezece” ),

 get_the_title ()

 ));

 

 wp_link_pages(matrice(

 'inainte' => ' ' . __( „Pagini:”, „douăzeci și șaisprezece” ) . ' ',

 'după' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' ' . __( „Pagină”, „douăzeci și șaisprezece” ) . ' %',

 'separator' => ' , ',

 ));

 ?>

 

 

 

 

 

 edit_post_link(

 sprintf (

 /* traducători: %s: numele postării curente */

 __( „Editați „%s” „, „douăzeci și șaisprezece” ),

 get_the_title ()

 ),

 ' ',

 ' '

 );

 ?>

 

Copiați acest cod în noul fișier „loop-category.php” al temei copil.

Editarea fișierului șablon-parte

Bucla „douăzeci și șaisprezece” afișează mai mult decât am nevoie, așa că voi modifica acest cod. Vreau doar să afișez fragmentul și nu conținutul, așa că vom elimina conținutul.

Care este diferența dintre H1 și titlul SEO al unui articol WordPress? Aflați consultând acest articol.

În noul fișier loop-category.php, găsiți acest cod și ștergeți-l:

<div class="entry-content">

 

 /* traducători: %s: numele postării curente */

 the_content( sprintf(

 __( „Continuați să citiți „%s” „, „douăzeci și șaisprezece” ),

 get_the_title ()

 ));

 

 wp_link_pages(matrice(

 'inainte' => ' ' . __( „Pagini:”, „douăzeci și șaisprezece” ) . ' ',

 'după' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' ' . __( „Pagină”, „douăzeci și șaisprezece” ) . ' %',

 'separator' => ' , ',

 ));

 ?>

Celălalt pas este să înlocuiți funcția „twenty_sixteen_excerpt()” cu funcția „the_excerpt()”, deoarece versiunea lui twenty_sixteen nu oferă un link către articolul complet.

Vezi și Cum să vizualizați articole recente dintr-o anumită categorie

Găsiți această linie:

Înlocuiește-l cu asta:

De asemenea, trebuie să facem câteva modificări la etichetele de titlu.

În partea de șablon, editați linia:

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

Schimbați etichetele H2 în H3:

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

Salvați șablonul. Apoi, reveniți la fișierul categorie.php și vom continua cu el.

Crearea de bucle

Mai întâi vom elimina includerea codului „douăzeci și șaisprezece” din fișierul nostru „category.php”, deoarece va trebui să folosim noul fișier.

În fișierul categorie.php, găsiți acest cod:

get_template_part('template-parts/content', get_post_format());

Și șterge-l.

În continuare vom crea buclele.

În acest exemplu, voi afișa toate articolele cu eticheta „conținut”, folosind eticheta condiționată „has_tag()”. Aceasta înseamnă că va trebui să trec prin trei bucle:

 

  • Primul verifică dacă interogarea a afișat articole cu această etichetă.
  • Dacă da, al doilea afișează articolele cu această etichetă.
  • Un al treilea afișează articole fără această etichetă.

 

Între fiecare buclă, voi folosi rewind_posts() pentru a derula înapoi postările fără a reseta interogarea: încă lucrăm cu interogarea principală de fiecare dată.

Prima buclă: Verificarea articolelor

În fișierul dvs. „category.php”, găsiți începutul buclei:

while (au_postări()): the_post();

Deasupra acestei linii, definiți o nouă variabilă numită $count:

$ count = 0;

Apoi, în interiorul acestei bucle, adăugați acest cod:

// verifică dacă există postări cu eticheta »

$tag = 'conținut';

dacă (are_etichetă($etichetă)) {

 $număr +=1;

}

Acest cod verifică dacă mesajele au eticheta „conținut”, apoi adaugă 1 la contor dacă da.

Interiorul buclei va arăta astfel:

// Verificați pentru postări în prima buclă.

$ count = 0;

while (au_postări()): the_post();

 

// verifică dacă există postări cu eticheta »

$tag = 'conținut';

dacă (are_etichetă($etichetă)) {

 $număr +=1;

}

 

endwhile;

A doua buclă: returnează articolele cu eticheta

Următorul pas este să rulați o buclă pentru a afișa postările cu acea etichetă, numai dacă există.

De exemplu, dacă valoarea $count este mai mare decât 0.

Descoperă și tu Cum de a personaliza tabloul de bord WordPress pentru un client

Adăugați această condiție în buclă:

dacă ( $număr > 0 ) {

 

 rewind_posts();

 

 ecou' Postări etichetate cu „ . $tag . ' ';

 

 

 while (au_postări()): the_post();

 

 dacă (are_etichetă($etichetă)) { 

 get_template_part('include/buclă', 'categorie'); 

 }

 

 // Încheiați bucla.

 endwhile;

 

}

Acest cod verifică dacă $count este mai mare decât zero și, dacă da, derulează elementele și rulează din nou bucla. Pentru fiecare articol verifică dacă are eticheta noastră și, dacă da, denumește partea din model pe care tocmai am creat-o.

A treia buclă: Afișați restul articolelor

Ieșirea va fi o buclă finală peste elementele rămase. Dacă această categorie nu are un articol cu ​​eticheta „conținut”, atunci va afișa toate articolele din categorie.

Învață și tu Cum de a crea un blog multi-autor și permite cititorilor dvs. să posteze articole pe blogul tău

În a doua buclă, adăugați asta:

rewind_posts();

 

 

// A doua buclă – postări care nu au eticheta „conținut”.

while (au_postări()): the_post();

 

 dacă ( !has_tag( $tag ) ) { 

 get_template_part('include/buclă', 'categorie'); 

 }

 

// Încheiați bucla.

sfârşitul timpului; ?>

Acest ultim cod derulează articolele și apoi rulează din nou bucla. De data aceasta, verifică dacă un articol nu are eticheta „conținut”, apoi afișează conținutul în „partea șablon”.

De asemenea, vă invităm să descoperiți Cum se adaugă o opțiune de imprimare a articolelor pe WordPress

Acum puteți testa pagina de postări de blog. Nu uitați că puteți schimba filtrele. În acest tutorial am folosit „conținut” ca filtru de etichetă, dar îl puteți folosi pe cel la alegere.

Descoperiți și câteva plugin-uri premium WordPress  

Puteți folosi altele WordPress plugin-uri pentru a oferi un aspect modern și pentru a optimiza gestionarea blogului sau site-ului dvs.

Vă oferim aici câteva plugin-uri WordPress premium care vă vor ajuta să faceți asta.

1. Social Addon de perete pentru UserPro

UserPro poate fi mult mai distractiv cu un zid social. Aceasta este ceea ce aduce extensia sa Social Wall. Cu ajutorul pluginului Social Wall, puteți crea un perete pe site-ul dvs. web și le puteți oferi membrilor un mod răcoritor de a interacționa cu comunitatea.

Le WordPress plug-in Social Wall permite utilizatorilor dvs.: să partajeze mesaje între ei, să partajeze imagini, să comenteze postările altor persoane, utilizatorii pot aprecia sau nu aprecia un mesaj, pot alege să afișeze peretele numai pentru utilizatorii conectați sau pentru toți utilizatorii, administratorii pot ștergeți postările sau comentariile utilizatorilor etc.

Descarca | Demo | web hosting

2. Flipkart Affiliate Plus

Flipkart Affiliate Plus este un WordPress plug-in modular care vă ajută să vă conectați site-ul WordPress la API-ul Flipkart Affiliate. 

Ce WordPress plug-in Face foarte ușor să importați date despre produse din Flipkart și să le actualizați direct pe site-ul dvs. web. Flipkart Affiliate Plus este primul plugin WordPress pentru API-ul oficial Flipkart. Folosind-o, nu va trebui să utilizați un API terță parte. Beneficiezi astfel pe deplin de munca ta.

Descarca | Demo | web hosting

3. Acțiune Google Analytics pentru WooCommerce

Actionable Google Analytics este un plugin WordPress care vă permite să utilizați unele dintre cele mai bune caracteristici ale Universal Analytics, inclusiv: Comerțul electronic îmbunătățit și Urmărirea ID-ului utilizatorului. În plus, acest plugin acceptă anonimizarea adresei IP, rambursările de produse, gruparea de conținut, urmărirea formularelor etc...

Folosind acest plugin WordPress, veți economisi timp în integrarea codului complex Google Analytics, astfel încât să vă puteți concentra pe gestionarea datelor dvs.

Principalele sale caracteristici sunt: ​​instalare rapidă și ușoară, acces la 9 rapoarte îmbunătățite de comerț electronic, posibilitatea de a studia modul în care diferite dispozitive sunt utilizate de către același utilizator și cum se fac achizițiile, capacitatea de a analiza ce produse sunt rambursate cel mai des, luați acțiuni corective și multe altele.

Descarca | Demo | web hosting

Alte resurse recomandate

De asemenea, vă invităm să consultați resursele de mai jos pentru a merge mai departe în controlul și controlul site-ului și blogului dvs.

 

 

Concluzie

Asa de ! Asta e tot pentru acest tutorial destul de tehnic. Sper că am fost explicit despre cum să folosim corect WP_Query pe WordPress. simte-te liber sa împărtășiți sfatul prietenilor dvs. de pe rețelele de socializare.

Cu toate acestea, veți putea, de asemenea, să ne consultați Resurse, dacă aveți nevoie de mai multe elemente pentru a vă derula proiectele de creare a site-urilor de internet, consultați ghidul nostru cu privire la Creare blog WordPress.

Dar între timp, spuneți-ne despre dumneavoastră comentarii și sugestii în secțiunea dedicată.

...