Ik ben een grote fan van de klasse WP_Query: ik gebruik het op verschillende websites van klanten om gegevens op een gepersonaliseerde manier op te halen en weer te geven.

Als je meerdere loops op een pagina wilt gebruiken, is de beste manier om dat te doen "WP_Query" uit te voeren wanneer je een loop moet maken.

Maar er is een nadeel: wanneer WordPress een lus uitvoert, stuurt deze query's naar de database, wat langer duurt en uw website kan vertragen.

In deze zelfstudie laat ik u zien hoe u een query voor meer dan één lus kunt gebruiken. U kunt dit doen met de hoofdquery of u kunt dezelfde techniek gebruiken met WP_Query.

We zullen 3-aspecten verkennen:

 

  • Maak een kindthema en een sjabloonbestand.
  • Maak een sjabloonstuk voor de lusinhoud.
  • Maak onze loops.

 

Maar voordat we het samen ontdekken Hoe maak je een WordPress blog 7 stappen te installeren et Hoe te vinden, installeren en activeren van een WordPress theme op uw blog 

Ga dan terug naar waarom we hier zijn.

Wat je nodig hebt

Om deze handleiding te volgen moet u:

 

  • Van een WordPress-installatie voor ontwikkeling (lokaal).
  • Een code-editor.
  • Artikelen op uw website waaraan meerdere categorieën zijn toegewezen
  • het twintig zestien-thema van WordPress
  • Een kinderthema van zestien zestien geïnstalleerd en geactiveerd

 

Deze techniek past zich ook aan uw situatie aan, en aan uw WordPress theme.

Een kindthema maken

Eerst gaan we het child-thema van twintig zestien maken. Ik doe dit omdat ik het hoofdthema niet wil wijzigen.

Ontdek Hoe maak je een WordPress kind thema te installeren

Maak in uw map "wp-inhoud / thema's" een nieuwe lege map aan, die u "tutor-thema" zult noemen. U kunt later de naam kiezen die bij u past.

Maak in deze map een bestand met de naam style.css en voeg de volgende code toe:

/*

Naam thema: Tuto-thema

Thema URI: https://blogpascher.com

Beschrijving: Thema ter ondersteuning van zelfstudie over het uitvoeren van meerdere lussen terwijl de database slechts eenmaal wordt opgevraagd. Kind thema voor het Twenty Sixteen thema.

Auteur: Hervé

Auteur URI: https://blogpascher.com

Sjabloon: twentysixteen

Versie: 1.0

*/

 

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

Sla nu dit bestand op en activeer uw nieuwe WordPress theme.

De volgende stap is het maken van een sjabloonbestand voor de categorieën, daar gaan we aan werken.

Maak een kopie van het bestand “archive.php” uit de WordPress theme ‘Zesentwintig.’ Verplaats het niet, maar maak er een kopie van. Hernoem het “categorie.php”.

Ontdek het om verder te gaan Hoe om bestanden en mappen WordPress beheren

Dit wordt nu het sjabloonbestand voor de categorieën van uw website.

Een nieuw sjabloonbestand maken

De eerste stap is om een ​​nieuw sjabloonbestand in ons thema te maken dat een aangepaste versie van de lus "twintig zestien" bevat.

Laten we ook samen overleggen Hoe u uw WordPress-website in de onderhoudsmodus plaatst

Maak in de onderliggende themamap een submap met de naam "omvat". En maak binnen een nieuw bestand met de naam "loop-category.php".

Open vervolgens het bestand "template-parts / content.php" uit de bovenliggende themamappen (zestienentwintig) en zoek de volgende code:

" >

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 / * vertalers:% s: naam van huidige post * /

 the_content (sprintf (

 __ ('Lees verder '% s ' ', 'twentysixteen'),

 get_the_title ()

 ));

 

 wp_link_pages (array (

 'before' => ' '. __ ('Pagina's:', 'twentysixteen'). ' ',

 'after' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' '. __ ('Pagina', 'Twentysixteen'). ' %',

 'separator' => ' , ',

 ));

 ?>

 

 

 

 

 

 edit_post_link (

 sprintf (

 / * vertalers:% s: naam van huidige post * /

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

 get_the_title ()

 ),

 ' ',

 ''

 );

 ?>

 

Kopieer deze code naar het nieuwe "loop-category.php" -bestand van het onderliggende thema.

Het sjabloononderdeelbestand bewerken

De "twintig zestien" lus laat meer zien dan wat ik nodig heb, dus ik ga deze code aanpassen. Ik wil alleen het fragment laten zien en niet de inhoud, dus we zullen de inhoud verwijderen.

Wat is het verschil tussen H1 en de SEO-titel van een WordPress-artikel? Ontdek het door dit artikel te raadplegen.

Zoek in uw nieuwe lus-category.php-bestand deze code en verwijder deze:

<div class = "entry-content">

 

 / * vertalers:% s: naam van huidige post * /

 the_content (sprintf (

 __ ('Lees verder '% s ' ', 'twentysixteen'),

 get_the_title ()

 ));

 

 wp_link_pages (array (

 'before' => ' '. __ ('Pagina's:', 'twentysixteen'). ' ',

 'after' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' '. __ ('Pagina', 'Twentysixteen'). ' %',

 'separator' => ' , ',

 ));

 ?>

De andere stap is om de functie "twintig_sixteen_excerpt ()" te vervangen door de functie "the_excerpt ()", omdat de versie van twintig zestien geen link geeft naar het volledige artikel.

Zie ook Hoe kan ik recente artikelen in een bepaalde categorie te bekijken

Zoek deze regel:

Vervang het hiermee:

We moeten ook enkele wijzigingen aanbrengen in de titeltags.

Wijzig in het modeldeel de regel:

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

Bewerk de H2-tags voor H3:

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

Registreer uw model. Ga vervolgens terug naar uw categorie.php-bestand, we zullen hiermee doorgaan.

Lussen maken

Allereerst gaan we de opname van de code voor "twintig zestien" uit ons "category.php" -bestand verwijderen, aangezien we het nieuwe bestand moeten gebruiken.

Zoek in uw categorie.php-bestand deze code:

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

En verwijder de.

Dan zullen we de lussen maken.

In dit voorbeeld zal ik alle berichten weergeven met de tag "content", met behulp van de voorwaardelijke tag "has_tag ()". Dit betekent dat ik door drie lussen moet gaan:

 

  • De eerste controle of de query items met deze tag heeft gepost.
  • Als dit het geval is, geeft de seconde de artikelen met dit label weer.
  • Een derde geeft artikelen weer zonder deze tag.

 

Tussen elke lus gebruik ik rewind_posts () om berichten terug te spoelen zonder de query opnieuw in te stellen: we werken altijd met de hoofdquery.

De eerste lus: verificatie van artikelen

Zoek in het bestand "category.php" het begin van de lus:

terwijl (have_posts ()): the_post ();

Definieer boven deze regel een nieuwe variabele met de naam $ count:

$ count = 0;

Voeg dan binnen die lus deze code toe:

// controleer of er berichten zijn met de »tag

$ tag = 'inhoud';

if (has_tag ($ tag)) {

 $ count + = 1;

}

Deze code controleert of de berichten het label "inhoud" hebben en voegt dan 1 toe aan de teller als dat het geval is.

De binnenkant van de lus ziet er ongeveer zo uit:

// Controleer op berichten in de eerste lus.

$ count = 0;

terwijl (have_posts ()): the_post ();

 

// controleer of er berichten zijn met de »tag

$ tag = 'inhoud';

if (has_tag ($ tag)) {

 $ count + = 1;

}

 

endwhile;

De tweede lus: herstel artikelen met de tag

De volgende stap is om te lussen om artikelen met deze tag weer te geven, alleen als die er zijn.

Als de waarde van $ count bijvoorbeeld groter is dan 0.

Ontdek ook Hoe het dashboard WordPress aanpassen voor een cliënt

Voeg deze voorwaarde toe aan de lus:

if ($ count> 0) {

 

 rewind_posts ();

 

 echo ' Berichten getagd met '. $ tag. ' ';

 

 

 terwijl (have_posts ()): the_post ();

 

 if (has_tag ($ tag)) { 

 get_template_part ('inclusief / loop', 'categorie'); 

 }

 

 // Beëindig de lus.

 endwhile;

 

}

Deze code verifieert dat $ count groter is dan nul en zo ja, spoelt de items terug en voert de lus opnieuw uit. Voor elk item wordt gecontroleerd of het ons label bezit en, zo ja, wordt het gedeelte van de sjabloon aangeroepen dat we zojuist hebben gemaakt.

De derde lus: bekijk de rest van de artikelen

De uitvoer is een laatste lus van de resterende artikelen. Als deze categorie geen artikel heeft met de tag "content", dan worden alle artikelen in de categorie weergegeven.

Leer ook Hoe maak je een multi-auteur blog te maken en laat uw lezers om artikelen te plaatsen op uw blog

Voeg in je tweede lus dit toe:

rewind_posts ();

 

 

// Second Loop - berichten niet met de 'content'-tag

terwijl (have_posts ()): the_post ();

 

 if (! has_tag ($ tag)) { 

 get_template_part ('inclusief / loop', 'categorie'); 

 }

 

// Beëindig de lus.

ondertussen; ?>

Deze laatste code spoelt de artikelen terug en voert de lus vervolgens opnieuw uit. Deze keer controleert het of een artikel niet de "content" -tag heeft, waarna de inhoud in het "template-part" wordt weergegeven.

We raden u ook aan om te ontdekken Hoe voeg je een artikel afdrukoptie toe aan WordPress

U kunt nu de artikelenpagina van uw blog testen. Vergeet niet dat u de filters kunt wijzigen. In deze zelfstudie hebben we "inhoud" gebruikt als labelfilter, maar u kunt de filter van uw keuze gebruiken.

Ontdek ook enkele premium WordPress-plug-ins  

U kunt andere gebruiken WordPress plugins om een ​​moderne uitstraling te geven en de afhandeling van uw blog of website te optimaliseren.

We bieden je hier enkele premium WordPress-plug-ins die je daarbij kunnen helpen.

1. Social Wall Addon voor UserPro

UserPro kan veel leuker zijn met een sociale muur. Dit is wat de Social Wall-extensie brengt. Met de Social Wall-plug-in kunt u een muur op uw website maken en uw leden een verfrissende manier bieden om met de community te communiceren.

Le WordPress Plugin Met Social Wall kunnen uw gebruikers: berichten met elkaar delen, afbeeldingen delen, reageren op de berichten van anderen, gebruikers kunnen een bericht leuk vinden of niet leuk vinden, ze kunnen ervoor kiezen om de muur alleen weer te geven voor ingelogde gebruikers of voor alle gebruikers, beheerders kunnen verwijder berichten of gebruikersreacties enz.

Downloaden | demonstratie | web hosting

2. Flipkart Affiliate Plus

Flipkart Affiliate Plus is een WordPress Plugin module die uw WordPress-website verbindt met de Flipkart Affiliate API. 

Ce WordPress Plugin Het maakt het heel eenvoudig om productgegevens uit Flipkart te importeren en deze rechtstreeks op uw website bij te werken. Flipkart Affiliate Plus is de eerste WordPress-plug-in voor de officiële Flipkart API. Door het te gebruiken, hoeft u geen API van derden te gebruiken. Zo profiteert u optimaal van uw werk.

Downloaden | demonstratie | web hosting

3. Bruikbare Google Analytics voor WooCommerce

Bruikbare Google Analytics is een WordPress-plug-in waarmee u enkele van de beste functies van Universal Analytics kunt gebruiken, waaronder: verbeterde e-commerce en tracking van gebruikers-ID's. Bovendien ondersteunt deze plug-in de anonimisering van IP-adressen, productrestituties, inhoudsgroepering, formuliertracering, enz.

Door deze WordPress-plug-in te gebruiken, bespaart u tijd bij de integratie van complexe Google Analytics-code, zodat u zich kunt concentreren op het beheer van uw gegevens.

De belangrijkste kenmerken zijn: snelle en gemakkelijke installatie, toegang tot 9 verbeterde e-commerce-rapporten, de mogelijkheid om te bestuderen hoe verschillende apparaten door dezelfde gebruiker worden gebruikt en hoe aankopen worden gedaan, de mogelijkheid om te analyseren welke producten het vaakst worden vergoed, om uiteindelijk corrigerende maatregelen te nemen, en meer.

Downloaden | demonstratie | web hosting

Andere aanbevolen bronnen

We nodigen u ook uit om de onderstaande bronnen te raadplegen om verder te gaan in de greep en controle van uw website en blog.

 

 

Conclusie

Alstublieft ! Dat is alles voor deze vrij technische tutorial. Ik hoop dat we expliciet zijn geweest over hoe we WP_Query correct op WordPress kunnen gebruiken. voel je vrij om deel de tip met je vrienden op je sociale netwerken.

U kunt echter ook onze ressources, als u meer elementen nodig hebt om uw projecten voor het maken van internetsites uit te voeren, raadpleeg onze gids op de WordPress blog creatie.

Maar vertel ons ondertussen over uw commentaires en suggesties in de speciale sectie.

...