Willkommen zu einer weiteren Folge der Mastering WP_Query-Reihe. Wie geht es uns bisher? Ich hoffe, dass Ihnen diese Tutorials genauso viel Spaß machen, wie uns das Schreiben.
In diesem Tutorial erfahren Sie mehr über die Eigenschaften und Methoden der WP_Query
-Klasse. Aber zunächst hielt ich es für angebracht, „Eigenschaften“ und „Methoden“ im Unterricht zu besprechen.
Können wir?
In PHP gibt es eine einfachere Möglichkeit, Code zu schreiben: Objektorientierte Programmierung oder OOP. Für OOP verwenden wir „Klassen“ als Blaupausen – diesen Begriff habe ich einem klassischen Beitrag auf Code Tuts+, „Object-Oriented PHP for Beginners“ von Jason Lengstorf, entnommen:
Zum Beispiel ist eine Klasse wie ein Bauplan für ein Haus. Es definiert die Form des Hauses auf dem Papier und definiert und plant klar die Beziehung zwischen den verschiedenen Teilen des Hauses, auch wenn das Haus nicht existiert.
(Denken Sie daran, dass WP_Query
eine wichtige Klasse im Kern von WordPress ist.)
Wenn Sie das Konzept der PHP-Klassen verstehen, werden „Eigenschaften“ und „Methoden“ sehr leicht zu verstehen, da diese Wörter nur Synonyme für „Variablen“ und „Funktionen“ sind. Ja, Eigenschaften sind Variablen von PHP-Klassen und Methoden sind Funktionen von PHP-Klassen.
Da wir nun besprochen haben, was sie sind, wollen wir uns mit den einzelnen Eigenschaften und Methoden vertraut machen.
Warnung: Es ist unklug, Eigenschaften direkt zu ändern. Wie der Kodex sagt, sollten Sie die Methoden von WP_Query
verwenden, um mit ihnen zu interagieren.
Beginnen wir mit den Eigenschaften oder Variablen der WP_Query
-Klasse.
$query
Diese Eigenschaft speichert die an das $wp_query
-Objekt übergebene Abfrage.
$query_vars
Diese Eigenschaft speichert ein assoziatives Array von $query
s Variablen (und ihren Werten).
$queried_object
Dieses Attribut speichert das Objekt der aktuellen Abfrage, beispielsweise das $post
对象(如果是 post 查询)或 $author
-Objekt (wenn es sich um eine Autorenabfrage handelt).
$queried_object_id
Dieses Attribut speichert die ID des Abfrageobjekts.
$posts
Diese Eigenschaft speichert die von der Abfrage zurückgegebenen Beiträge.
$post_count
Dieses Attribut speichert die Anzahl der aktuell abgefragten Beiträge.
$found_posts
Diese Eigenschaft speichert die Anzahl der Beiträge in der SQL-Abfrage, die die LIMIT
-Klausel nicht enthalten.
$max_num_pages
Diese Eigenschaft speichert die Anzahl der Seiten – berechnet durch Division von $found_posts
除以 $posts_per_page
durch $posts_per_page
.
$current_post
Dieses Attribut speichert die Indexnummer des aktuellen Elements in der Schleife. Wenn die Schleife beispielsweise gerade erst begonnen hat, wird die -1
,并且通过 next_post()
-Methode inkrementiert.
$post
Dieses Attribut speichert den aktuellen Beitrag.
$is_{conditional}
Die folgenden Eigenschaften werden als boolesche Werte gespeichert und geben Auskunft über den aktuellen Beitragsstatus:
$is_single
: Überprüfen Sie, ob es sich um einen einzelnen Beitrag eines beliebigen Beitragstyps handelt (außer den Beitragstypen „Anhang“ und „Seite“). $is_page
: Überprüfen Sie, ob es sich um eine Seite handelt. $is_archive
: Überprüfen Sie, ob es sich um eine Archivseite handelt. $is_preview
: Überprüfen Sie, ob es sich um eine Beitragsvorschau handelt. $is_date
: Überprüfen Sie anhand des Datums, ob es sich um eine archivierte Seite handelt. $is_year
: Überprüfen Sie, ob es sich um eine Archivseite basierend auf dem Jahr handelt. $is_month
: Überprüfen Sie, ob es sich um eine monatsbasierte Archivseite handelt. $is_time
: Überprüfen Sie anhand der Zeit (stündlich, Minute oder Sekunde), ob die Seite archiviert ist. $is_author
: Überprüfen Sie, ob es sich um die Archivseite des Autors handelt. $is_category
: Überprüfen Sie, ob es sich um eine Kategorie-Archivseite handelt. $is_tag
: Überprüfen Sie, ob es sich um eine Tag-Archivseite handelt. $is_tax
: Prüfen Sie, ob es sich um eine Kategorie-Archivseite handelt. $is_search
: Überprüfen Sie, ob es sich um eine „Suchergebnisse“-Seite handelt. $is_feed
: Überprüfen Sie, ob es sich um einen Feed handelt. $is_comment_feed
: Überprüfen Sie, ob es sich um einen Kommentar-Feed handelt. $is_trackback
: Überprüfen Sie, ob es sich um eine Referenz handelt. $is_home
: Überprüfen Sie, ob es sich um die Hauptseite des Blogs handelt. $is_404
: Überprüfen Sie, ob es sich um eine 404-Fehlerseite handelt. $is_comments_popup
: Überprüfen Sie, ob es sich um ein Kommentar-Popup handelt. $is_admin
: Überprüfen Sie, ob es sich um das Admin-Panel handelt. $is_attachment
: Überprüfen Sie, ob es sich um einen Anhang handelt. $is_singular
: Überprüfen Sie, ob es sich um einen einzelnen Beitrag eines beliebigen Beitragstyps handelt (einschließlich der Beitragstypen „Anhang“ und „Seite“). $is_robots
:检查是否是对 robots.txt
Dateiabfrage. $is_posts_page
: Überprüfen Sie, ob es sich um eine „Beitragsseite“ handelt (eingestellt auf der Seite „Leseeinstellungen“ des Admin-Panels). $is_paged
: Prüfen Sie, ob es sich um eine Paging-Abfrage handelt und nicht um die Startseite. Da wir nun mit den Eigenschaften fertig sind, gehen wir zu den WP_Query
Methoden (Funktionen) der Klasse über.
init()
Diese Methode initialisiert einfach das Objekt und setzt alle Eigenschaften auf NULL
、0
或 FALSE
.
parse_query( $query )
Diese Methode verwendet $query
属性来解析查询并填充所有其他属性(除了 $posts
、$post_count
、$post
和 $current_post
).
parse_query_vars()
Diese Methode analysiert Abfragevariablen erneut.
get( $query_var )
Diese Methode ruft die angegebene Abfragevariable ab.
设置( $query_var, $value )
Diese Methode setzt die angegebene Abfragevariable auf einen bestimmten Wert.
&get_posts()
Diese Methode gibt den von der Abfrage angeforderten Beitrag zurück und füllt das Attribut $posts
和 $post_count
aus.
next_post()
Diese Methode fügt den nächsten Artikel in $current_post
索引并前进到 $posts
hinzu und gibt das aktuelle Artikelobjekt zurück. (Diese Methode muss innerhalb einer Schleife verwendet werden, um ordnungsgemäß zu funktionieren.)
the_post()
Diese Methode legt eine globale $post
-Variable unter Verwendung der Daten aus dem nächsten Artikel fest. (Diese Methode muss innerhalb einer Schleife verwendet werden, um ordnungsgemäß zu funktionieren.)
have_posts()
Diese Methode prüft, ob noch Beiträge zur Verarbeitung übrig sind, und wenn nicht, wird zurückgegeben FALSE
. (Diese Methode muss vor der Schleife verwendet werden, damit sie ordnungsgemäß funktioniert.)
rewind_posts()
Diese Methode setzt lediglich die Eigenschaften $current_post
und $current_post
和 $post
zurück.
&query( $query )
Diese Methode ruft ihre beiden Geschwistermethoden auf: das Ergebnis von parse_query()
和 get_posts()
,并返回 get_posts()
.
get_queried_object()
Diese Methode gibt das abgefragte Objekt zurück. (Setzen Sie $queried_object
, falls noch nicht geschehen.)
get_queried_object_id()
Diese Methode ähnelt der obigen Methode und gibt die ID des Abfrageobjekts zurück ($queried_object_id
).
Kurztipp: Wenn einer Methode ein &-Symbol vorangestellt ist, bedeutet dies, dass die Methode als Referenz zurückgegeben wird.
Ich hoffe, ich konnte Ihnen verständlich machen, was „Eigenschaften“ und „Methoden“ für den Unterricht bedeuten. Wenn Sie den Zweck der Eigenschaften und Methoden der WP_Query
-Klasse verstehen, kann ich sagen, dass ich einen ziemlich guten Job mache!
Haben Sie etwas zu diesem Artikel hinzuzufügen? Teilen Sie uns Ihre Gedanken im Kommentarbereich unten mit. Wenn Ihnen dieser Artikel gefallen hat, vergessen Sie nicht, ihn mit Ihren Freunden zu teilen.
Wir sehen uns im nächsten Teil dieser Serie!
Das obige ist der detaillierte Inhalt vonDie Leistungsfähigkeit von WP_Query entfesseln: Eigenschaften und Methoden erkunden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!