WP_Query beherrschen Eigenschaften und Methoden

Willkommen zu einem weiteren Teil unserer "Mastering WP_Query" -Serie. Wie geht es uns so weit? Ich hoffe, dass Ihnen diese Tutorials ebenso gut gefallen wie dem Schreiben.

In diesem Tutorial erfahren Sie mehr über die Eigenschaften und Methoden von WP_Query Klasse. Aber zunächst denke ich, dass es angebracht ist, darüber zu sprechen, was "Eigenschaften" und "Methoden" in einer Klasse sind.

Sollen wir?

Was sind Eigenschaften und Methoden, genau?

In PHP gibt es eine Möglichkeit, Code in a zu schreiben Reiniger Weg: objektorientierte Programmierung oder OOP. Mit OOP verwenden wir "Klassen" als Blaupausen - ich habe den Begriff von einem der klassisch Posts von Code Tuts +, "Objektorientiertes PHP für Anfänger" von Jason Lengstorf:

Eine Klasse zum Beispiel ist wie ein Bauplan für ein Haus. Es definiert die Form des Hauses auf dem Papier, wobei die Beziehungen zwischen den verschiedenen Teilen des Hauses klar definiert und geplant sind, auch wenn das Haus nicht existiert.

(Und erinnere dich daran WP_Query ist eine wesentliche Klasse des WordPress-Kerns.)

Wenn Sie den Begriff der PHP-Klassen verstehen, werden "Eigenschaften" und "Methoden" sehr leicht verständlich, da die Wörter nur Synonyme für "Variablen" und "Funktionen" sind. Ja, Eigenschaften sind Variablen einer PHP-Klasse und Methoden sind Funktionen einer PHP-Klasse.

Jetzt haben wir über deren Eigenschaften informiert. Lassen Sie uns jede dieser Eigenschaften und Methoden kennenlernen.

Warnung: Es wäre nicht ratsam, die Eigenschaften direkt zu ändern. Wie der Kodex sagt, solltest du interagieren mit ihnen mit den Methoden von WP_Query.

Eigenschaften der WP_Query-Klasse

Beginnen wir mit den Eigenschaften oder den Variablen von WP_Query Klasse.

Die Abfragezeichenfolge: $ Abfrage

Diese Eigenschaft speichert die an die übergebene Abfrage $ wp_query Objekt.

Das Array von Abfragevariablen: $ query_vars

Diese Eigenschaft speichert ein assoziatives Array der Variablen (und ihrer Werte) von $ Abfrage.

Das abgefragte Objekt: $ abgefragtes_Objekt

Diese Eigenschaft speichert das aktuell abgefragte Objekt wie das $ post Objekt, wenn es eine Post-Abfrage oder die ist $ Autor Objekt, wenn es eine Autorenanfrage ist.

Die ID des abgefragten Objekts: $ abgefragte_Objekt_id

Diese Eigenschaft speichert die ID des abgefragten Objekts.

Die Beiträge, die von der Abfrage zurückgegeben wurden: $ Beiträge

Diese Eigenschaft speichert die von der Abfrage zurückgegebenen Beiträge.

Die Anzahl der angezeigten Beiträge: $ post_count

Diese Eigenschaft speichert die Anzahl der Beiträge für die aktuelle Abfrage.

Die Anzahl der von der Abfrage zurückgegebenen Beiträge: $ found_posts

Diese Eigenschaft speichert die Anzahl der Beiträge ohne GRENZE Klausel der SQL-Abfrage.

Die Anzahl der Seiten: $ max_num_pages

Diese Eigenschaft speichert die Anzahl der Seiten, die durch Teilen berechnet werden $ found_posts durch $ posts_per_page.

Der Index des aktuellen Beitrags: $ current_post

Diese Eigenschaft speichert die Indexnummer des aktuellen Elements in der Schleife. Zum Beispiel ist es -1 wenn der Loop gerade erst begonnen hat und um den Wert inkrementiert wird next_post () Methode.

Der aktuelle Beitrag: $ post

Diese Eigenschaft speichert gut den aktuellen Beitrag.

Bedingte Tag-Booleans: $ is_ bedingt

Die folgenden Eigenschaften werden als boolesche Werte gespeichert, die Informationen zum Status des aktuellen Beitrags enthalten:

  • $ is_single: Überprüft, ob es sich um einen einzelnen Beitrag eines beliebigen Beitragstyps handelt (ausgenommen "Anhang" - und "Seiten" -Posttypen).
  • $ is_page: Überprüft, ob es sich um eine Seite handelt oder nicht.
  • $ is_archive: Überprüft, ob es sich um eine Archivseite handelt oder nicht.
  • $ is_preview: Überprüft, ob es sich um eine Beitragsvorschau handelt oder nicht.
  • $ is_date: Überprüft, ob es sich um eine datumsbasierte Archivseite handelt oder nicht.
  • $ is_year: Überprüft, ob es sich um eine Jahresarchivseite handelt oder nicht.
  • $ is_month: Überprüft, ob es sich um eine monatliche Archivseite handelt oder nicht.
  • $ is_time: Überprüft, ob es sich um eine zeitbasierte (stündliche, minutale oder zweite) Archivseite handelt oder nicht.
  • $ is_author: Überprüft, ob es sich um eine Archivseite eines Autors handelt oder nicht.
  • $ is_category: Überprüft, ob es sich um eine Kategoriearchivseite handelt oder nicht.
  • $ is_tag: Überprüft, ob es sich um eine Tag-Archivseite handelt oder nicht.
  • $ is_tax: Überprüft, ob es sich um eine Taxonomie-Archivseite handelt oder nicht.
  • $ is_search: Überprüft, ob es eine "Suchergebnisseite" ist oder nicht.
  • $ is_feed: Überprüft, ob es sich um einen Feed handelt oder nicht.
  • $ is_comment_feed: Überprüft, ob es sich um einen Kommentar-Feed handelt oder nicht.
  • $ is_trackback: Überprüft, ob es ein Trackback ist oder nicht.
  • $ is_home: Überprüft, ob es sich um die Hauptblogseite handelt oder nicht.
  • $ is_404: Überprüft, ob es sich um eine 404-Fehlerseite handelt oder nicht.
  • $ is_comments_popup: Überprüft, ob es sich um ein Kommentarfenster handelt oder nicht.
  • $ is_admin: Überprüft, ob es sich um das Administrationsfenster handelt oder nicht.
  • $ is_attachment: Überprüft, ob es sich um eine Anlage handelt oder nicht.
  • $ is_singular: Überprüft, ob es sich um einen einzelnen Beitrag mit einem beliebigen Beitragstyp (einschließlich "Anhang" - und "Seiten" -Posttypen) oder nicht.
  • $ is_robots: Überprüft, ob es sich um eine Abfrage handelt robots.txt Datei oder nicht.
  • $ is_posts_page: Überprüft, ob es sich um die "Posts-Seite" handelt (wird auf der Seite "Leseeinstellungen" im Administrationsbereich festgelegt) oder nicht.
  • $ is_paged: Überprüft, ob es sich um eine paginierte Abfrage handelt und nicht die erste Seite ist.

Methoden der WP_Query-Klasse

Nun, da wir mit den Eigenschaften fertig sind, gehen wir weiter zu den Methoden (Funktionen) von WP_Query Klasse.

drin()

Diese Methode initialisiert einfach das Objekt und setzt alle Eigenschaften auf NULL, 0 oder FALSCH.

parse_query ($ query)

Diese Methode verwendet die $ Abfrage Eigenschaft, um die Abfrage zu parsen und alle anderen Eigenschaften aufzufüllen (außer $ Beiträge, $ post_count, $ post und $ current_post).

parse_query_vars ()

Diese Methode analysiert die Abfragevariablen neu.

get ($ query_var)

Diese Methode ruft eine angegebene Abfragevariable ab.

set ($ query_var, $ value)

Diese Methode setzt die angegebene Abfragevariable auf einen bestimmten Wert.

& get_posts ()

Diese Methode gibt die von der Abfrage angeforderten Beiträge zurück und füllt die $ Beiträge und $ post_count Eigenschaften.

next_post ()

Diese Methode erhöht die $ current_post Index und rückt zum nächsten Beitrag in vor $ Beiträge, Rückgabe des aktuellen Post-Objekts. (Diese Methode muss innerhalb einer Schleife verwendet werden, um ordnungsgemäß zu funktionieren.)

die Post()

Diese Methode legt das globale fest $ post Variable mit den Daten des nächsten Beitrags. (Diese Methode muss innerhalb einer Schleife verwendet werden, um ordnungsgemäß zu funktionieren.)

have_posts ()

Diese Methode prüft, ob noch Beiträge vorhanden sind, und kehrt zurück FALSCH wenn nicht (Diese Methode muss verwendet werden Vor eine Schleife, um richtig zu funktionieren.)

rewind_posts ()

Diese Methode setzt einfach das zurück $ current_post und $ post Eigenschaften.

& Abfrage ($ Abfrage)

Diese Methode ruft zwei ihrer Geschwistermethoden auf, parse_query () und get_posts (), und gibt das Ergebnis von zurück get_posts ().

get_queried_object ()

Diese Methode gibt das abgefragte Objekt zurück. (Es legt fest $ abgefragtes_Objekt wenn es noch nicht eingestellt ist.)

get_queried_object_id ()

Diese Methode gibt ähnlich wie oben die ID des abgefragten Objekts zurück ($ abgefragte_Objekt_id).

Kurzer Tipp: Wenn es vor einer Methode ein kaufmännisches Und gibt, bedeutet dies, dass die Methode als Referenz zurückgegeben wird.

Heute einpacken

Ich hoffe, ich konnte Ihnen klar machen, was "Eigenschaften" und "Methoden" für Klassen bedeuten. Und wenn Sie den Zweck der Eigenschaften und Methoden der WP_Query Klasse, ich kann sagen, dass ich gute Arbeit geleistet habe!

Haben Sie etwas zu diesem Artikel hinzuzufügen? Teilen Sie Ihre Gedanken mit uns in den Kommentaren unten. Und wenn Ihnen der Artikel gefallen hat, vergessen Sie nicht, ihn mit Ihren Freunden zu teilen.

Wir sehen uns im nächsten Teil der Serie!