Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress
Code

Mastering WP_Query: 10 nützliche Beispiele

by
Difficulty:BeginnerLength:MediumLanguages:
This post is part of a series called Mastering WP_Query.
WP_Query Arguments: Author, Search, Password & Permissions
Combining WP_Query With the Main Query

German (Deutsch) translation by Władysław Łucyszyn (you can also view the original English article)

Jetzt, wo wir fast alles über die WP_Query-Klasse gelernt haben, ist es Zeit, einige Beispiele auszuprobieren. In diesem Teil werden wir an 10 verschiedenen Szenarien arbeiten, um die WP_Query-Klasse und verwandte Funktionen zu nutzen.

Es wird eine lustige Übung sein und ich hoffe, dass es ebenso lehrreich sein wird. Lass uns anfangen!

Eine kurze Erinnerung beim Erstellen einer Schleife mit WP_Query

Um diesen Artikel getrennt von der "Mastering WP_Query" -Serie verständlich zu machen, sollte ich ein Nano-Tutorial zum Erstellen von WordPress-Schleifen mit der WP_Query-Klasse machen.

Es ist nicht anders als eine reguläre Schleife wirklich zu erstellen. Eine typische WordPress-Schleife läuft so:

Und beim Erstellen einer Schleife mit der WP_Query-Klasse gibt es nur wenige Unterschiede:

Lassen Sie uns den Unterschied zwischen den beiden sehen:

  • Wir haben einige Argumente für unsere WP_Query-Instanz festgelegt,
  • Wir haben die WP_Query-Klasse instanziiert,
  • Wir haben $my_query-> am Anfang der Funktionen have_posts() und the_post() hinzugefügt (also sind sie jetzt die Methoden der WP_Query-Klasse),
  • Und wir setzen die Daten von $post zurück, damit sie zur Hauptabfrage zurückkehren können.

Jetzt wissen wir, wie man eine Schleife mit WP_Query und den Unterschied zwischen einer regulären Schleife und einer mit WP_Query erstellten Schleife erstellt. Wir werden keine Schleifen in jedem Beispiel erstellen (um das Tutorial kurz und thematisch zu halten), so dass Sie in diesem Abschnitt nachsehen können, wenn Sie eine Schleife mit den folgenden Beispielen erstellen müssen.

Beispiel # 1: Die Beiträge eines Autors in diesem Jahr

Angenommen, Sie möchten die Beiträge eines bestimmten Autors im aktuellen Jahr in einem speziellen Abschnitt "Autorenbeiträge dieses Jahr" auflisten. Eine einfache Kombination von zwei WP_Query-Parametern reicht aus:

Übergeben Sie diese Abfrage in einer Schleife und Sie können loslegen!

Beispiel # 2: "Neueste Beiträge aus dieser Kategorie" (außer der aktuellen Post)

Angenommen, Sie möchten unter jedem Post auf ihren einzelnen Post-Seiten eine Schleife erstellen und die neuesten Posts aus der Kategorie, in der sich der Post befindet, auflisten. Natürlich müssen Sie den aktuellen Beitrag ausschließen, falls es sich um einen der letzten Beiträge aus dieser Kategorie handelt. So erstellen Sie die Abfrage mit den Parametern 'cat' und 'post__not_in':

Für die Schleife schlage ich vor, drei oder vier Spalten mit Post-Thumbnails über Posttiteln zu erstellen. Es wird sehr gut aussehen direkt unter der Post und vor dem Kommentarbereich.

Beispiel # 3: "Beliebteste Beiträge", sortiert nach Kommentaranzahl

WordPress hat kein integriertes "post view count" -System, und Plugins, die diese Funktionalität bieten, sind dafür bekannt, die Website zu verlangsamen (weil die Plugins in jeder Post-Ansicht immer wieder in die Datenbank schreiben, um die Ansicht aufzuzeichnen) zählt). Es gibt jedoch eine andere Art von Messung, um festzustellen, welche Beiträge am beliebtesten sind: Kommentare zählen. Anders als bei der Anzahl der Aufrufe befinden sich die Anzahl der Kommentare bereits in der Datenbank. Mit der WP_Query-Klasse können Sie Posts ganz einfach nach Kommentaranzahl sortieren:

Siehst du wie einfach das ist? Stellen Sie sich nun vor, Sie erstellen eine benutzerdefinierte Seitenvorlage mit einer Schleife, die diese Abfrage ausführt - eine Seite mit den meisten kommentierten Posts.

Beispiel # 4: Ein einfaches Slider Setup

Wenn Sie WordPress verwenden, um Firmenwebsites, Portfolios oder Webmagazine zu erstellen, sind Schieberegler zu einem "Muss" Industriestandard geworden. Ich bin nicht wirklich ein Fan von Slidern (ich denke, es ist schlecht UX), aber das Web scheint es zu mögen, also kann ich nicht einfach Nein zu meinen Kunden sagen, während ich Webseiten für sie mache. Wenn sie Schieberegler verwenden möchten, verwende ich eine einfache Abfrage mit der WP_Query-Klasse:

Mit dem Argument 'cat' können Folien aus verschiedenen Kategorien abgerufen werden, sodass Sie Foliengruppen trennen und mehrere Schieberegler auf mehreren Seiten verwenden können. Wenn Sie nur einen Schieberegler auf Ihrer Website verwenden möchten, können Sie diese Zeile löschen, und Sie können loslegen.

Beispiel # 5: Ein zufälliges Zitat in der Sidebar

Wenn Sie sich für Literatur oder Religion interessieren, möchten Sie vielleicht einige Ihrer Lieblingszitate in der Seitenleiste haben - es ist keine Platzverschwendung, wenn Sie den Bereich mit Absicht nutzen. Wenn Sie also in jeder Seitenansicht ein zufälliges Zitat in Ihrer Seitenleiste auflisten möchten, können Sie das folgende Code-Snippet verwenden, um den Post-Typ zu erstellen und die folgende Abfrage zu verwenden, um eine Schleife in Ihrer Seitenleiste zu erstellen:

Eine einfache und elegante Lösung.

Beispiel # 6: Produkte zwischen einem Preisbereich auflisten

Ich habe dieses Beispiel auf Scribu.net gefunden und muss sagen, es könnte der beste WP_Query-Trick in diesem Tutorial sein. Es ist ein bisschen technischer als die anderen, weil es in diesem Kontext auf eine WordPress-basierte E-Commerce-Website angewendet werden kann.

Hier ist das Code-Snippet, das Sie verwenden möchten, wenn Sie Artikel aus einem benutzerdefinierten Postposttyp "Produkt" auflisten und die Ergebnisse mit den benutzerdefinierten Feldern "Preis" filtern möchten:

Ein großes Lob an Silviu-Cristian Burca!

Beispiel # 7: Ein Shortcode zum Einbetten von Posts innerhalb von Posts

Hier ist eine unterhaltsame Übung - und wir nutzen auch die Shortcode-API! In diesem Beispiel erstellen wir einen Shortcode, der einen Post in einen Post einbetten kann. (Ich habe mich kaum von der Benennung des Shortcodes [postception] enthalten.) Im folgenden Code-Snippet erstellen wir eine Shortcode-Funktion, die es uns ermöglicht, Posts (oder einen beliebigen benutzerdefinierten Post-Typ) einzubetten und uns die Wahl zu geben, ob der vollständige Post oder nur ein Auszug angezeigt werden soll:

Beispiel #8: Liste der aktuellen geplanten Beiträge (mit optionalen Auszügen)

Hier ist eine Idee: Warum zeigen Sie Ihren Besuchern nicht ein paar "Vorschaubilder" Ihrer kommenden Posts? Mit der folgenden Funktion können Sie Ihre geplanten Posts mit oder ohne Auszüge nach den Titeln auflisten:

Beispiel #9: "Beitrag von vor einem Jahr heute"

Wenn Ihr Blog älter als ein Jahr ist und Ihre Inhalte zeitlos sind (was bedeutet, dass sowohl eine Person aus den Jahren 2015 als auch 2025 den Artikel relevant findet), kann das Hinzufügen eines Abschnitts "Beitrag von einem Jahr vor heute" Ihre Seitenaufrufe erhöhen. Hier ist, wie Sie es tun:

Verwenden Sie diese Abfrage, um eine Schleife zu erstellen, die einen einzelnen Post von gestern anzeigt.

Beispiel # 10: Zeige Kinder der aktuellen Seite

Sie haben nichts anderes als die Titel von Unterseiten, die Sie in Ihre Seite "Services", "Unsere Werke" oder "Mein Portfolio" einfügen können? Vielleicht ein Intro-Absatz, aber Sie haben Recht, diese Seiten sind dazu verdammt, "Platzhalter" zu sein. Trotzdem ist es eine gute Idee, Unterseiten darin zu platzieren - vielleicht ein Raster mit quadratischen Miniaturansichten und Titeln darunter. Lassen Sie uns sehen, welche Abfrage wir verwenden sollten, wenn Sie eine solche Seitenvorlage erstellen:

Aufwickeln

Ich hoffe, Ihnen hat diese Beispiele genauso gut gefallen, wie ich sie vorbereitet habe. Ich habe besonders darauf geachtet, verschiedene Beispiele zu geben, sowohl um Spaß zu haben als auch um Ihre Kreativität zu fördern.

Wenn Sie beim Lesen dieser Artikel an bessere Beispiele gedacht haben oder Fragen haben, zögern Sie nicht, unten einen Kommentar zu verfassen. Und wenn Ihnen der Artikel gefallen hat, vergessen Sie nicht, ihn mit Ihren Freunden zu teilen!

Im nächsten Teil sprechen wir über WP_User_Query, eine der Schwesterklassen von WP_Query. Bis dann!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.