Abfragen in WordPress mit WP_Query durchführen

Veröffentlicht in WordPress von Samantha Rodriguez

Zuletzt aktualisiert am 24.Februar, 2020

Die Datenbank, die Ihre WordPress-Website speist, ist voller wertvoller Informationen. Dies ermöglicht es, Ihre Beiträge und Seiten nach vielen verschiedenen Variablen zu filtern. Wenn das, was Sie anzeigen möchten, nicht Teil Ihres Themas ist, gibt es jedoch andere Möglichkeiten, diese Daten zu verwenden.

Hier kommt WP_Query ins Spiel. Dies ist eine PHP-Klasse, die eine Vielzahl von Parametern verwendet. Folglich können Sie Daten aus der WordPress-Datenbank abrufen, um sie auf Ihrer Website zu verwenden oder anzuzeigen.

In diesem Artikel geben wir ein tieferes Verständnis der WP_Query-Klasse und wie sie verwendet werden kann. Wir werden Sie auch durch einige wichtige Schritte führen, die Sie bei der Verwendung befolgen müssen. Wenn du bereit bist, lass uns direkt eintauchen!

Was ist WP_Query?

Wie bereits erwähnt, ist WP_Query eine PHP-Klasse, die von der WordPress-Datenbank verwendet wird. Diese spezielle Klasse kann mehrere Dinge tun, aber in erster Linie wird sie verwendet, um Beiträge aus der Datenbank abzurufen.

Wie der Name schon sagt, wird eine Abfrage basierend auf den von Ihnen festgelegten Kriterien durchgeführt. Da es viele Parameter gibt, die Sie mit WP_Query in WordPress verwenden können, können Sie Beiträge auf verschiedene Arten abrufen und anzeigen. Wir werden diese Optionen später in diesem Beitrag genauer untersuchen.

Verwendung von WP_Query

Auch wenn Sie nur die verschiedenen Aspekte der WordPress-Codebasis lernen, ist WP_Query eine gute Klasse für den Einstieg. Lassen Sie uns nun vier verschiedene Möglichkeiten aufschlüsseln, wie Sie es auf Ihrer Website verwenden können.

Erste Schritte mit einer benutzerdefinierten Schleife

Eine der besten Möglichkeiten, den Aufruf von WP_Query kennenzulernen, ist die WordPress-Schleife. Wenn Sie mit der Schleife nicht vertraut sind, ist dies ein wichtiges Konzept, das Sie nachlesen sollten.

Die Schleife ruft die Datenbank auf, in der nach Post-Inhalten gefragt wird, und zeigt die zurückgegebenen Daten an. Es funktioniert auch basierend auf festgelegten Parametern, z. B. wie viele Beiträge Ihre Website auf einer einzelnen Seite anzeigen soll (etwas, das Sie in Ihren Einstellungen konfigurieren können > Lesemenü).

Die Grundlagen der Schleife sehen folgendermaßen aus:

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

Diese einfache Aussage besagt im Wesentlichen, dass Beiträge angezeigt werden sollten, wenn sie vorhanden sind. Natürlich können Sie dieser Grundlage eine Vielzahl von Vorlagen-Tags hinzufügen, um die gewünschte Anzeige zu erstellen.

Sie können auch WP_Query in die Schleife einfügen. Auf diese Weise können Sie Parameter festlegen, welche Beiträge zurückgegeben werden. Lassen Sie uns aufschlüsseln, wie das aussehen würde:

<?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();

Sie sehen die gleichen if / while-Anweisungen aus der Basisschleife, aber es gibt eine zusätzliche WP_Query-Zeichenfolge. Welche Parameter hier eingestellt sind, bestimmt, welche Beiträge angezeigt werden.

Wenn Sie beispielsweise einen bestimmten Autor von einer Liste von Beiträgen ausschließen möchten, können Sie dies in der Schleife mit WP_Query tun:

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

Wenn Sie dies in die Schleife einfügen, enthalten Ihre angezeigten Beiträge nicht mehr den Benutzer mit der Autorennummer „12“.

Die Anzahl der Parameter, die Sie mit dieser Methode verwenden können, ist nahezu unbegrenzt. Sie können Kategorieinformationen sowie erweiterte Taxonomien einschließen, um nur zwei Beispiele zu nennen.

Argumente: Das Rückgrat benutzerdefinierter Abfragen in WordPress

Im vorherigen Beispiel haben Sie möglicherweise „($args)“ als Teil der Zeichenfolge bemerkt. Dies ist ein wichtiger Teil der Abfrage, die auf die enthaltenen ‚Argumente‘ verweist. Es teilt der Datenbank genau mit, was in die zurückgegebenen Daten aufgenommen werden soll.

Im Wesentlichen können diese Argumente eingerichtet werden, um die genauen Ergebnisse zu bestimmen, die Sie anzeigen möchten. Argumente können auch verwendet werden, um den Wert von Variablen zu ändern. Wenn Sie beispielsweise ändern möchten, wie Ihre Kategorienliste auf der Seite angezeigt wird, können Sie ein Argument verwenden.

Ihr Argument definiert ein Array von Variablen und Werten. Wenn Sie möchten, können Sie ein Argument verwenden, um ein Array zu definieren und Ihre Datenbank anzuweisen, die Kategorien in absteigender Reihenfolge anzuzeigen. Darüber hinaus können Sie dieselbe Methode verwenden, um Kategorien auszuschließen, die keine Beiträge enthalten.

Parameter in WP_Query: Kategorie, Tag und mehr

Bis zu diesem Punkt haben wir Parameter nur am Rande erwähnt. Schauen wir uns an dieser Stelle genauer an, was sie tatsächlich können. Ihre Hauptfunktion besteht darin, Ihnen zu ermöglichen, benutzerdefinierte Sammlungen von Posts abzurufen.

Ein Beispiel für einen Parameter, der im Header Ihrer Site verwendet werden kann, ist der Parameter Category. Sie können damit bestimmte Kategorien für die Anzeige angeben. Dies geschieht durch Angabe der entsprechenden Kategorienummer oder des Slugs.

Zusätzlich können Sie dasselbe mit dem Tag-Parameter tun. Natürlich sind die Parameter Category und Tag nur die Spitze des Eisbergs, wenn es um die Verwendung von WP_Query geht.

Objekte mit Methoden und Eigenschaften ändern

Es wird zwar nicht empfohlen, die Eigenschaften einer Klasse wie WP_Query direkt zu ändern, Sie können jedoch mithilfe von Methoden mit ihnen interagieren. Im Wesentlichen sind Methoden wie Funktionen, während Eigenschaften Variablen entsprechen.

WP_Query hat viele Eigenschaften. Diese reichen von einfachen „$ posts“ -Eigenschaften bis hin zu komplizierteren. Unabhängig davon, welche Methode zur Interaktion mit ihnen verwendet wird, werden Daten basierend auf den Parametern zurückgegeben, die Sie festlegen.

WP_Query vs. query_posts() in WordPress

Es ist erwähnenswert, dass es eine andere Möglichkeit gibt, die Hauptabfrage auf Ihrer Seite zu ändern. Dies ist die Funktion query_posts(). Dies kann zwar ähnlich wie WP_Query funktionieren, kann aber auch sehr problematisch sein.

Die WordPress-Code-Referenz empfiehlt sogar dringend, dass Sie diese Funktion nicht in der Hauptschleife Ihrer Website verwenden. Es ist auch am besten, es in Plugins und Themes zu vermeiden. Dies liegt daran, dass Ihre Hauptabfrage vollständig überschrieben wird.

Die WP_Query-Klasse wird bevorzugt, da Sie die Hauptschleife auch nach dem Ausführen einer Abfrage zurücksetzen können. Da Sie mit WP_Query mehrere Abfragen in einer Schleife ausführen können, sollten Sie auch wissen, wie Sie die Funktion wp_reset_postdata implementieren.

Wenn Sie eine sekundäre Schleife in die WordPress-Hauptschleife eingebettet haben, wird die Reset-Funktion am Ende platziert und sieht folgendermaßen aus:

<?php wp_reset_postdata(); ?>

Dadurch werden die Standardvorlagen-Tags wiederhergestellt, und Sie sind wieder so, wie es war, bevor Ihre sekundäre Schleife initiiert wurde.

Passen Sie Ihre WordPress-Site mit WP Engine an

Die Möglichkeit, Anpassungen an der Anzeige von Elementen auf Ihrer Website vorzunehmen, ist nur einer der Vorteile der Verwendung von WordPress. Wenn Sie WP_Query verstehen und die auf der Seite Entwicklerressourcen bereitgestellten Tools nutzen, können Sie wirklich angepasste Websites erstellen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.