zoekopdrachten uitvoeren in WordPress met WP_Query

geplaatst in WordPress door Samantha Rodriguez

laatst bijgewerkt op 24 februari, 2020

de database die uw WordPress website voedt is vol met waardevolle informatie. Dit is wat het mogelijk maakt om uw berichten en pagina ‘ s te filteren op veel verschillende variabelen. Als wat u wilt weergeven is geen onderdeel van uw thema, echter, er zijn andere manieren van het gebruik van die gegevens.

Hier komt WP_Query in beeld. Dit is een PHP klasse die gebruik maakt van een breed scala aan parameters. Het stelt u dus in staat om gegevens uit de WordPress-database te halen voor gebruik of weergave op uw website.

In dit artikel geven we een dieper inzicht in de WP_Query klasse en hoe het gebruikt kan worden. We zullen u ook door een aantal belangrijke stappen te volgen bij het gebruik ervan. Als je er klaar voor bent, laten we er meteen in duiken!

Wat is WP_Query?

zoals we al zeiden, is WP_Query een PHP-klasse die wordt gebruikt door de WordPress-database. Deze specifieke klasse kan verschillende dingen doen, maar in de eerste plaats wordt het gebruikt om berichten uit de database te trekken.

zoals de naam al aangeeft, maakt het een query op basis van de criteria die u ervoor hebt ingesteld. Aangezien er een heleboel parameters die u kunt gebruiken met WP_Query in WordPress, kunt u trekken en weer te geven berichten in een aantal unieke manieren. We zullen deze opties in meer detail later in dit bericht te verkennen.

Hoe gebruik je WP_Query

zelfs als je net de verschillende aspecten van de WordPress codebase leert, is WP_Query een goede klasse om mee te beginnen. Nu, laten we breken vier verschillende manieren waarop u het kunt gebruiken op uw website.

aan de slag met een aangepaste lus

een van de beste manieren om de aanroep van WP_Query te leren kennen is via de WordPress-lus. Als je niet bekend bent met wat de lus is, is het een belangrijk concept om over te lezen.

de lus roept de database aan om post-inhoud te vragen en toont de gegevens die worden geretourneerd. Het werkt ook op basis van ingestelde parameters, zoals hoeveel berichten u wilt dat uw site op een enkele pagina weer te geven (iets wat u kunt configureren in uw instellingen > lezen menu).

de basis van de lus ziet er als volgt uit:

<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
// Display post content
endwhile;
endif;
?>

deze eenvoudige verklaring is in wezen zeggen dat als er berichten, ze moeten worden weergegeven. Natuurlijk kunt u een breed scala aan sjabloontags aan deze stichting toevoegen, om het gewenste display te maken.

u kunt ook WP_Query in de lus invoegen. Dit stelt u in staat om parameters te plaatsen op welke berichten zullen worden geretourneerd. Laten we uitzoeken hoe dat eruit zou zien.:

<?php
// The Query
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
echo '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();

je ziet dezelfde if / while statements uit de basis lus, maar er is een extra WP_Query string. Welke parameters hier worden ingesteld zal bepalen welke berichten zullen worden weergegeven.

bijvoorbeeld, als u een bepaalde auteur wilt uitsluiten van een lijst met berichten, kunt u dat doen in de lus met WP_Query:

$query = new WP_Query( array( 'author' => -12 ) );

door dit in de lus te plaatsen, zouden uw weergegeven berichten niet langer de gebruiker met het auteursnummer van “12”bevatten.

het aantal parameters dat u kunt gebruiken met deze methode is bijna eindeloos. U kunt categoriegegevens en geavanceerde taxonomieën opnemen, om slechts twee voorbeelden te geven.

argumenten: De Backbone van aangepaste Queries in WordPress

In het vorige voorbeeld hebt u wellicht “($args)” als onderdeel van de tekenreeks opgemerkt. Dit is een essentieel onderdeel van de vraag die verwijst naar de meegeleverde ‘argumenten’. Het vertelt de database precies wat op te nemen in de geretourneerde gegevens.

in wezen kunnen deze argumenten worden ingesteld om de exacte resultaten te bepalen die u wilt weergeven. Argumenten kunnen ook worden gebruikt om de waarde van variabelen te veranderen. Als u bijvoorbeeld wilt wijzigen hoe uw lijst met categorieën op de pagina wordt weergegeven, kunt u een argument gebruiken.

uw argument definieert een array van variabelen en waarden. Dus als je wilt, kun je een argument gebruiken om een array te definiëren en je database vertellen om de categorieën in aflopende volgorde te presenteren. Daarnaast kunt u dezelfde methode gebruiken om Categorieën uit te sluiten die geen berichten bevatten.

Parameters in WP_Query: Category, Tag, and More

tot nu toe hebben we alleen de parameters terloops genoemd. Laten we nu eens beter kijken naar wat ze echt kunnen doen. Hun primaire functie is om u in staat om op maat ontworpen collecties van berichten te trekken.

een voorbeeld van een parameter die kan worden gebruikt in de header van uw site is de categorie parameter. U kunt dit gebruiken om specifieke categorieën op te geven voor weergave. Dit wordt gedaan door het relevante categorienummer of slug op te geven.

Bovendien kunt u hetzelfde doen met de Tag parameter. Natuurlijk, de categorie en Tag parameters zijn eigenlijk slechts het topje van de ijsberg als het gaat om het gebruik van WP_Query.

Wijzig objecten met methoden en eigenschappen

hoewel het niet wordt aanbevolen om direct de eigenschappen van een klasse zoals WP_Query te wijzigen, kunt u met ze communiceren door methoden te gebruiken. In wezen zijn methoden als functies, terwijl eigenschappen het equivalent zijn van variabelen.

WP_Query heeft vele eigenschappen. Deze variëren van eenvoudige” $ posts ” eigenschappen om meer ingewikkelde degenen. Welke methode wordt gebruikt om te communiceren met hen, gegevens worden geretourneerd op basis van de parameters die u kiest om in te voeren.

WP_Query vs. query_posts () in WordPress

het is vermeldenswaard dat er een andere manier is om de belangrijkste query op uw pagina aan te passen. Dit is de functie query_posts (). Hoewel dit op een vergelijkbare manier kan werken als WP_Query, kan het ook zeer problematisch zijn.

de WordPress Code Reference adviseert zelfs sterk dat u deze functie niet gebruikt in de hoofdlus van uw website. Het is ook het beste om het te voorkomen in plugins en thema ‘ s. Dit komt omdat het uw belangrijkste vraag volledig zal overschrijven.

de klasse WP_Query heeft de voorkeur, omdat u ook de hoofdlus kunt’ resetten ‘ nadat u een query hebt uitgevoerd. Aangezien WP_Query je in staat stelt om meerdere query ‘ s in een lus uit te voeren, wil je ook begrijpen hoe je de wp_reset_postdata functie kunt implementeren.

als u een secundaire lus hebt ingesloten in de hoofdlus van WordPress, zal de resetfunctie aan het einde worden geplaatst en er zo uitzien:

<?php wp_reset_postdata(); ?>

dit zal de standaard template tags herstellen, en je zult terug zijn naar hoe de dingen waren voordat je secundaire lus werd gestart.

Pas uw WordPress Site aan met WP Engine

het kunnen aanpassen van de manier waarop items op uw website worden weergegeven is slechts een van de voordelen van het gebruik van WordPress. Inzicht in WP_Query en gebruik te maken van de tools op de ontwikkelaar resources pagina kan u helpen bij het bouwen van echt aangepaste websites.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.