Key Takeaways
- Die Funktion get_posts () in WordPress wird verwendet, um Beiträge aus der Datenbank abzurufen, indem benutzerdefinierte Filter angewendet und das Endergebnis basierend auf einer Reihe von Parametern sortiert werden. Es gibt ein Array von WP_POST -Objekten zurück, die jeweils einen einzelnen Beitrag darstellen.
- Die Funktion get_posts () wird gegenüber dem Objekt WP_Query bevorzugt, da letztere die Hauptschleife verändert und möglicherweise Site -Probleme verursacht. Die Funktion get_posts () und get_pages () rufen beide Beiträge ab, unterscheiden sich jedoch in Parameternamen, Werten und Methoden des Abrufens.
- Die Funktion get_posts () akzeptiert ein Array von Parametern, um benutzerdefinierte Filter anzuwenden und Ergebnisse zu sortieren. Diese Parameter umfassen Posts_per_Page, Page, Tax_query, OrderBy, Order, Ausschluss, Meta_Key, Meta_Value, post_type und post_status.
- Die Funktion get_posts () kann verwendet werden, um die beliebtesten Beiträge, zufälligen Beiträge, Beiträge mit passender Metaschlüssel und Wert und Posts mit einem benutzerdefinierten Post -Typ mit einem benutzerdefinierten Taxonomie -Namen abzurufen. Die zurückgegebenen Ergebnisse werden dann zur weiteren Verwendung durchgeschaltet.
Viele WordPress -Plugins rufen Beiträge aus der Datenbank ab, indem Sie die Sortierreihenfolge anpassen und Beiträge basierend auf einem bestimmten Meta -Schlüssel oder einer Taxonomie abrufen. Haben Sie sich jemals gefragt, wie diese Plugins angepasste Beiträgelisten abrufen, ohne SQL -Abfragen zu schreiben? In diesem Tutorial lernen wir genau das.

In diesem Artikel untersuchen wir die Funktion von Get_Posts () mit einigen Beispielen, wie sie in Ihren eigenen Projekten verwendet werden. Wir werden auch einige typische Anwendungsfälle für diese Funktion abdecken und wie sie sich vom WP_Query -Objekt und der Funktion get_pages unterscheidet.
Was ist die Funktion get_posts ()?
Die Funktion get_posts ist seit WordPress 1.2.0 in WordPress Core verfügbar. Diese Funktion wird im Grunde genommen verwendet, um Beiträge aus der Datenbank abzurufen, indem benutzerdefinierte Filter angewendet und das Endergebnis basierend auf einer Reihe von Parametern sortiert werden.
Die Funktion get_posts () gibt ein Array von WP_POST -Objekten zurück. Jedes WP_POST -Objekt repräsentiert einen einzelnen Beitrag.
intern get_posts verwendet das WP_Query -Objekt, um die SQL -Abfragen basierend auf dem übergebenen Parametersatz zu konstruieren und auszuführen.
Hinweis: Beiträge bedeutet Post-, Seite und benutzerdefinierte Beitragstyp.
Warum nicht das WP_Query -Objekt direkt verwenden?
Plugins Verwenden Sie die Funktion get_posts anstelle von WP_Query -Objekt, da die Verwendung des WP_QUERY -Objekts direkt die Hauptschleife (d. H. Die globale Variable $ wp_query) verändert, die Site -Probleme verursachen würde.
Was ist der Unterschied zwischen get_posts () und get_pages () Funktionen?
Beide werden verwendet, um Beiträge aus der WordPress -Datenbank abzurufen. Hier sind jedoch einige der Unterschiede zwischen ihnen:
- Einige der Parameternamen und -Werte unterscheiden sich zwischen ihnen. Obwohl sie sich unabhängig von den Namen der Parameter genauso verhalten.
- Die Funktion get_pages () ruft derzeit keine Beiträge basierend auf den Parametern meta_key und meta_value ab.
- Die Funktion get_pages () verwendet nicht das WP_QUERY -Objekt. Stattdessen konstruiert und führt SQL -Abfragen direkt auf.
Get_Posts () Funktionsparameter
Die Funktion get_posts nimmt nur ein Argument als Array. Das Array enthält die verschiedenen Parameter, um benutzerdefinierte Filter anzuwenden und das Ergebnis zu sortieren.
Hier ist ein Code -Beispiel, in dem angezeigt wird, wie diese Funktion aufgerufen wird, und die verschiedenen verfügbaren Parameter:
<span><span><?php </span></span><span> </span><span><span>$args = array( </span></span><span> <span>"posts_per_page" => 5, </span></span><span> <span>"paged" => 1 </span></span><span> <span>"tax_query" => array( </span></span><span> <span>array( </span></span><span> <span>"taxonomy" => "category", </span></span><span> <span>"field" => "slug", </span></span><span> <span>"terms" => "videos,movies", </span></span><span> <span>) </span></span><span> <span>), </span></span><span> <span>"orderby" => "post_date", </span></span><span> <span>"order" => "DESC", </span></span><span> <span>"exclude" => "1123, 4456", </span></span><span> <span>"meta_key" => "", </span></span><span> <span>"meta_value" => "", </span></span><span> <span>"post_type" => "post", </span></span><span> <span>"post_status" => "publish" </span></span><span><span>); </span></span><span> </span><span><span>$posts_array = get_posts($args); </span></span><span> </span><span><span>?></span></span></span>
Es sind mehr Parameter verfügbar, aber dies sind die am häufigsten verwendeten. Schauen wir uns jede dieser Parameter an:
- pOSTS_PER_PAGE: Dieser Parameter definiert die Anzahl der zu zurückgegebenen Beiträge. Verwenden Sie -1, wenn Sie alle Beiträge möchten.
- PAGED: Ermöglicht es uns, zwischen einer Reihe von Beiträgen zu navigieren, während wir den Parameter posts_per_page verwenden. Es wird zur Paginierung verwendet. Zum Beispiel: Angenommen, die posts_per_page ist 10 und es gibt 20 Beiträge im Ergebnis. Wenn Sie 2 PAGED 2 pagen, werden die letzten 10 Beiträge zurückgegeben.
- Tax_Query: Stellen Sie Beiträge einer bestimmten Taxonomie -Schnecke anzeigen, d. H. Filtern Sie die Beiträge der anderen Taxonomie -Schnecke heraus. Begriffe können eine von der Kommas getrennte Zeichenfolge, die mehrere Taxonomie -Slugs darstellt, annehmen.
- orderBy: Es wird verwendet, um die abgerufenen Beiträge zu sortieren. Einige mögliche Werte sind: "Keine", "Date", "Rand", "comment_count", "meta_value", "meta_value_num" usw., während Sie mit "meta_value" und "meta_value_num" sortiert werden, müssen Sie den Parameter meta_key bereitstellen.
- Reihenfolge: Bezeichnet die aufsteigende oder absteigende Reihenfolge des Parameters "OrderBy". Mögliche Werte sind "Desc" oder "ASC".
- Ausschließen: Es erfordert eine von der Kommas getrennte Liste von Post -IDs, die von einer Datenbanksuche ausgeschlossen werden.
- meta_key und meta_value: Wenn Sie nur meta_key angeben, werden Beiträge mit dem Schlüssel zurückgegeben. Wenn Sie auch meta_value angeben, werden Beiträge, die mit dem meta_value für den meta_key entsprechen, zurückgegeben.
- post_type: Ruft Inhalte basierend auf Post-, Seite oder benutzerdefiniertem Post -Typ ab. Denken Sie daran, dass der Standardpost_Type nur auf Posts eingestellt ist, jedoch nicht auf Seiten.
- post_status: Ruft Beiträge nach Status des Beitrags ab. Mögliche Werte sind: "Veröffentlichen", "Ausstehende", "Entwurf", "Zukunft", "Any" oder "Müll".
Das WP_POST -Objekt
Die Funktion get_posts gibt ein Array zurück, das WP_POST -Objekte enthält. Hier sind die wichtigen Eigenschaften des WP_POST -Objekts:
- id: id des Beitrags
- post_author: Autor Name des Beitrags
- post_type: Typ des Beitrags
- post_title: Titel des Beitrags
- post_date: Datum, auf dem der Beitrag veröffentlicht wurde. Format: 0000-00-00 00:00:00
- post_content: Inhalt des Beitrags.
- post_status: Status des Beitrags
- comment_count: Anzahl der Kommentare für den Beitrag
Beispiele für get_posts
Schauen wir uns einige Beispiele anhand der Funktion get_posts an.
beliebteste Beiträge
Wenn Sie die oberste N -Nummer der am meisten besprochenen Beiträge auf Ihrer Website anzeigen möchten, können Sie Get_Posts verwenden, um sie abzurufen. Hier ist ein Beispiel:
<span><span><?php </span></span><span> </span><span><span>$args = array( </span></span><span> <span>"posts_per_page" => 5, </span></span><span> <span>"paged" => 1 </span></span><span> <span>"tax_query" => array( </span></span><span> <span>array( </span></span><span> <span>"taxonomy" => "category", </span></span><span> <span>"field" => "slug", </span></span><span> <span>"terms" => "videos,movies", </span></span><span> <span>) </span></span><span> <span>), </span></span><span> <span>"orderby" => "post_date", </span></span><span> <span>"order" => "DESC", </span></span><span> <span>"exclude" => "1123, 4456", </span></span><span> <span>"meta_key" => "", </span></span><span> <span>"meta_value" => "", </span></span><span> <span>"post_type" => "post", </span></span><span> <span>"post_status" => "publish" </span></span><span><span>); </span></span><span> </span><span><span>$posts_array = get_posts($args); </span></span><span> </span><span><span>?></span></span></span>
Hier verwenden wir den Parameter "OrderBy", um die Beiträge basierend auf der Anzahl der Kommentare zu sortieren und die Top 10 Beiträge abzurufen.
zufällige Beiträge
Sie können auch problemlos zufällige Beiträge abrufen. Dies ist hilfreich, um Benutzern einen weiteren Artikel auf Ihrer Website zu empfehlen, sobald sie das aktuelle gelesen haben. Hier ist der Code dafür:
<span><span><?php </span></span><span> <span>$args = array("posts_per_page" => 10, "orderby" => "comment_count"); </span></span><span> <span>$posts_array = get_posts($args); </span></span><span> <span>foreach($posts_array as $post) </span></span><span> <span>{ </span></span><span> <span>echo "<h1 id="post-gt-post-title">" . $post->post_title . "</h1> <br>"; </span></span><span> <span>echo "<p>" . $post->post_content . "</p> <br>"; </span></span><span> <span>} </span></span><span><span>?></span></span></span>
Im obigen Beispiel haben wir den Wert Rand an den Parameter Order_by übergeben.
Beiträge mit passender Metaschlüssel und Wert
Möglicherweise möchten wir alle Beiträge abrufen, die einen bestimmten Metatastatur und Wert zugewiesen haben. Zum Beispiel: Einige Blogs haben einen Rezensent für jeden Artikel. Vielleicht möchten wir Artikel abrufen, die von einem bestimmten Rezensent überprüft werden.
Hier ist der Code, um genau das zu tun:
<span><span><?php </span></span><span> <span>$args = array("posts_per_page" => 1, "orderby" => "rand"); </span></span><span> <span>$posts_array = get_posts($args); </span></span><span> <span>foreach($posts_array as $post) </span></span><span> <span>{ </span></span><span> <span>echo "<h1 id="post-gt-post-title">" . $post->post_title . "</h1> <br>"; </span></span><span> <span>echo "<p>" . $post->post_content . "</p> <br>"; </span></span><span> <span>} </span></span><span><span>?></span></span></span>
Hier rufen wir alle von "NarayanPrusty" überprüften Beiträge ab. Wir gehen davon aus
benutzerdefinierten Beitragstyp mit benutzerdefinierter TaxonomieMöglicherweise möchten wir Beiträge von einem benutzerdefinierten Post -Typ mit einem benutzerdefinierten Taxonomie -Namen abrufen. Betrachten Sie dieses Code -Beispiel:
<span><span><?php </span></span><span> <span>$args = array("posts_per_page" => -1, "meta_key" => "reviewer", "meta_value" = "narayanprusty"); </span></span><span> <span>$posts_array = get_posts($args); </span></span><span> <span>foreach($posts_array as $post) </span></span><span> <span>{ </span></span><span> <span>echo "<h1 id="post-gt-post-title">" . $post->post_title . "</h1> <br>"; </span></span><span> <span>echo "<p>" . $post->post_content . "</p> <br>"; </span></span><span> <span>} </span></span><span><span>?></span></span></span>In diesem Beispiel rufen wir die Beiträge eines benutzerdefinierten Post -Typs mit dem Namen "Coupons" ab, die zu den benutzerdefinierten Taxonomien "Plugins" und "Themen" gehören.
Schlussfolgerung
In diesem Artikel haben wir gesehen, wie die Funktion get_posts funktioniert, die verschiedenen Parameter, die sie unterstützt, durch das zurückgegebene Ergebnis und einige Beispielanlagen der Stichprobe durchläuft. Die Funktion get_posts ist eine der am häufigsten verwendeten WordPress -Funktionen. Ich hoffe, Sie können jetzt Ihre eigenen Projekte verwenden.
häufig gestellte Fragen (FAQs) über WordPress get_posts Funktion
Was ist der Unterschied zwischen Get_Posts und WP_Query in WordPress? Sie unterscheiden sich jedoch in ihrer Verwendung und Flexibilität. get_posts ist eine einfachere Funktion, ideal für Anfänger und für Situationen, in denen Sie nur eine bestimmte Reihe von Beiträgen abrufen müssen. Auf der anderen Seite ist WP_Query leistungsfähiger und flexibler. Es ermöglicht komplexere Abfragen und gibt Ihnen mehr Kontrolle über die WordPress -Schleife. Während Get_Posts einfacher zu bedienen ist, bietet WP_Query fortgeschrittenere Funktionen für das Anpassen Ihrer Abfragen.
Wie kann ich die Anzahl der von get_posts zurückgegebenen Beiträge ändern? Standardmäßig wird es auf 5 gesetzt. Wenn Sie alle Beiträge abrufen möchten, können Sie "Numberposts" auf -1 festlegen. Um beispielsweise 10 Beiträge zu erhalten, würden Sie: get_posts (array ('numberPosts' => 10));
Kann ich Get_Posts verwenden, um benutzerdefinierte Post -Typen abzurufen?
Ja, Sie Kann Get_Posts verwenden, um benutzerdefinierte Post -Typen abzurufen. Sie müssen nur den Parameter "post_type" in Ihrer Abfrage angeben. Wenn Sie beispielsweise einen benutzerdefinierten Beitragstyp mit dem Namen "Produkte" haben, können Sie diese Beiträge mit: get_posts (Array ('post_type' => 'products') abrufen;
Wie kann ich die zurückgegebenen Beiträge sortieren von get_posts? "OrderBy" bestimmt das Feld, um nach zu sortieren, und "Ordnung" bestimmt die Sortierreihenfolge (ASC für aufsteigend und zum Abstieg). Um beispielsweise Beiträge nach dem Titel in aufsteigender Reihenfolge zu sortieren, würden Sie: get_posts (array ('orderBy' => 'title', 'order' => 'asc');
Kann ich Get_Posts verwenden Um Beiträge aus einer bestimmten Kategorie abzurufen? Sie müssen nur den Parameter "Kategorie" in Ihrer Abfrage angeben. Um beispielsweise Beiträge aus der Kategorie mit der ID 3 zu erhalten, würden Sie: get_posts (Array ('Kategorie' => 3));
Wie kann ich Beiträge aus mehreren Kategorien mit Get_Posts abrufen? >
Um Beiträge aus mehreren Kategorien abzurufen, können Sie ein Array von Kategorie -IDs an den Parameter "Kategorie" übergeben. Um beispielsweise Beiträge aus den Kategorien mit den IDs 3 und 4 zu erhalten, würden Sie: get_posts (Array ('Kategorie' => Array (3, 4));Kann ich Get_Posts verwenden, um abzurufen Beiträge eines bestimmten Autors? Sie müssen nur den Parameter "Autor" in Ihrer Abfrage angeben. Um beispielsweise Beiträge des Autors mit der ID 1 zu erhalten, würden Sie: get_posts (Array ('Autor' => 1) verwenden; ? Um beispielsweise Beiträge zu erhalten, die einen Meta -Schlüssel mit 'Farbe' und einen Meta -Wert von 'Blue' haben, würden Sie: get_posts (array ('meta_key' => 'color', 'meta_value' => 'Blue') verwenden. );
Kann ich Get_Posts verwenden, um Beiträge mit einem bestimmten Tag zu abrufen? Sie müssen nur den Parameter "Tag" in Ihrer Abfrage angeben. Um beispielsweise Beiträge mit dem Tag "WordPress" zu erhalten, würden Sie: get_posts (Array ("Tag" => "WordPress");
verwenden;
Wie kann ich Beiträge aus einem bestimmten Datumsbereich mit Get_Posts abrufen? Dieser Parameter akzeptiert ein Array von Arrays, wobei jedes innere Array eine Datumsabfrageklausel definiert. Um beispielsweise Beiträge ab Januar 2020 zu erhalten, würden Sie: get_posts (Array (’Date_query’ => Array (Array („Jahr“ => 2020, „Monat“ => 1)));
Das obige ist der detaillierte Inhalt vonErforschen der WordPress Get_Posts -Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Auswahl der richtigen integrierten Entwicklungsumgebung (ID) für die WordPress -Entwicklung Seit zehn Jahren habe ich zahlreiche integrierte Entwicklungsumgebungen (IDEs) für WordPress -Entwicklung untersucht. Die schiere Abwechslung - von frei bis kommerziell, einfach zu FEA

Dieses Tutorial zeigt, dass das Erstellen eines WordPress-Plugins mithilfe von OP-Prinzipien (Object-oriented Programming) erstellt wird, wodurch die Dribbble-API eingesetzt wird. Lassen Sie uns den Text für Klarheit und Zuversicht verfeinern und gleichzeitig die ursprüngliche Bedeutung und Struktur erhalten. Objektori

Best Practices für die Übergabe von PHP -Daten an JavaScript: Ein Vergleich von wp_localize_script und wp_add_inline_script Das Speichern von Daten in statischen Zeichenfolgen in Ihren PHP -Dateien ist eine empfohlene Praxis. Wenn diese Daten in Ihrem JavaScript -Code benötigt werden, Incorporat

Dieser Handbuch zeigt, wie PDF -Dateien in WordPress -Posts und Seiten mit einem WordPress -PDF -Plugin eingebettet und geschützt werden. PDFs bieten ein benutzerfreundliches, allgemein zugängliches Format für verschiedene Inhalte, von Katalogen bis zu Präsentationen. Diese Methode ens


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Dreamweaver CS6
Visuelle Webentwicklungstools

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung
