Mastering WP_Query eigenschappen en methoden

Welkom bij nog een ander deel van onze serie "Mastering WP_Query". Hoe gaat het tot nu toe? Ik hoop dat je deze tutorials leuk vindt, net zoals we het leuk vinden om ze te schrijven.

In deze zelfstudie leert u meer over de eigenschappen en methoden van de WP_Query klasse. Maar eerst denk ik dat het gepast is om te praten over 'eigenschappen' en 'methoden' in een klas.

Zullen we?

Wat zijn eigenschappen en methoden, Precies?

In PHP is er een manier om code te schrijven in a schoonmaakster manier: objectgeoriënteerd programmeren of OOP. Met OOP gebruiken we 'klassen' als blauwdrukken - ik heb de term overgenomen uit een van de klassiek berichten van Code Tuts +, "Object-georiënteerde PHP voor beginners" door Jason Lengstorf:

Een klasse, bijvoorbeeld, is zoals een blauwdruk voor een huis. Het bepaalt de vorm van het huis op papier, waarbij de relaties tussen de verschillende delen van het huis duidelijk zijn gedefinieerd en gepland, ook al bestaat het huis niet.

(En onthoud dat WP_Query is een essentiële klasse van de WordPress-kern.)

Wanneer u het begrip van PHP-klassen begrijpt, worden "eigenschappen" en "methoden" zeer eenvoudig te begrijpen, omdat de woorden slechts synoniemen zijn voor "variabelen" en "functies". ja, eigenschappen zijn variabelen van een PHP-klasse en methoden zijn functies van een PHP-klasse.

Nu we hebben behandeld wat ze zijn, laten we elk van die eigenschappen en methoden leren kennen.

Waarschuwing: Het is niet verstandig om de eigenschappen direct te wijzigen. Zoals de Codex zegt, zou je dat moeten doen op elkaar inwerken met hen met behulp van de methoden van WP_Query.

Eigenschappen van de WP_Query Class

Laten we beginnen met de eigenschappen, of de variabelen, van de WP_Query klasse.

De queryreeks: $ vraag

Deze eigenschap slaat de query op die is doorgegeven aan de $ wp_query voorwerp.

De matrix van queryparameters: $ query_vars

Deze eigenschap slaat een associatieve array op van de variabelen (en hun waarden) van $ vraag.

Het opgevraagde object: $ queried_object

Deze eigenschap slaat het momenteel opgevraagde object op, zoals de $ bericht object als dit een postquery is of de $ auteur object als het een auteursquery is.

De ID van het opgevraagde object: $ queried_object_id

Deze eigenschap slaat de ID van het opgevraagde object op.

De berichten geretourneerd vanuit de query: $ posts

Deze eigenschap slaat de berichten op die uit de query zijn geretourneerd.

Het aantal berichten dat wordt weergegeven: $ POST_COUNT

Deze eigenschap slaat het aantal berichten op voor de huidige query.

Het aantal berichten dat is geretourneerd uit de query: $ found_posts

Deze eigenschap slaat het aantal berichten op zonder de BEGRENZING clausule van de SQL-query.

Het aantal pagina's: $ max_num_pages

Deze eigenschap slaat het aantal pagina's op - het wordt berekend door te delen $ found_posts door $ posts_per_page.

De index van de huidige post: $ current_post

Deze eigenschap slaat het indexnummer van het huidige item op in de Loop. Bijvoorbeeld, het is -1 als de Loop net is gestart en wordt verhoogd met de next_post () methode.

De huidige post: $ bericht

Deze woning bewaart, nou ja, de huidige post.

Voorwaardelijke tag Booleans: $ Is_ voorwaardelijke

De volgende eigenschappen worden opgeslagen als booleans en geven informatie over de status van het huidige bericht:

  • $ is_single: Controleert of het een enkel bericht van een willekeurig berichttype is (behalve "bijlage" en "pagina" berichttypen) of niet.
  • $ is_page: Controleert of het een pagina is of niet.
  • $ is_archive: Controleert of het een archiefpagina is of niet.
  • $ is_preview: Controleert of het een postvoorbeeld is of niet.
  • $ is_date: Controleert of het een op datum gebaseerde archiefpagina is of niet.
  • $ is_year: Controleert of het een jaar-gebaseerde archiefpagina is of niet.
  • $ is_month: Controleert of het een maandgebaseerde archiefpagina is of niet.
  • $ is_time: Controleert of het een tijdgebaseerde (elk uur, minutieus of ten tweede) archiefpagina is of niet.
  • $ is_author: Controleert of het een archiefpagina van een auteur is of niet.
  • $ is_category: Controleert of het een categoriearchiefpagina is of niet.
  • $ is_tag: Controleert of het een tagarchiefpagina is of niet.
  • $ is_tax: Controleert of het een taxonomie-archiefpagina is of niet.
  • $ is_search: Controleert of het een "zoekresultaten" -pagina is of niet.
  • $ is_feed: Controleert of het een feed is of niet.
  • $ is_comment_feed: Controleert of het een commentaarfeed is of niet.
  • $ is_trackback: Controleert of het een trackback is of niet.
  • $ is_home: Controleert of dit de hoofdblogpagina is of niet.
  • $ is_404: Controleert of het een 404-foutpagina is of niet.
  • $ is_comments_popup: Controleert of het een pop-upvenster met reacties is of niet.
  • $ is_admin: Controleert of het het administratiepaneel is of niet.
  • $ is_attachment: Controleert of het een bijlage is of niet.
  • $ is_singular: Controleert of het een enkele post van een berichttype is (inclusief "bijlage" en "pagina" berichttypen) of niet.
  • $ is_robots: Controleert of het een query is voor de robots.txt bestand of niet.
  • $ is_posts_page: Controleert of het de "Posts-pagina" is (ingesteld op de pagina "Leesinstellingen" in het admin-paneel) of niet.
  • $ is_paged: Controleert of het een gepagineerde query is en het is niet de eerste pagina.

Methoden van de WP_Query-klasse

Nu we klaar zijn met de eigenschappen, gaan we verder met de methoden (functies) van de WP_Query klasse.

in het()

Met deze methode wordt het object eenvoudig geïnitialiseerd en alle eigenschappen ingesteld NUL, 0 of VALSE.

parse_query ($ query)

Deze methode gebruikt de $ vraag eigenschap om de query te ontleden en alle andere eigenschappen te vullen (behalve $ posts, $ POST_COUNT, $ bericht en $ current_post).

parse_query_vars ()

Deze methode reproduceert de queryvariabelen.

get ($ query_var)

Met deze methode wordt een bepaalde queryvariabele opgehaald.

set ($ query_var, $ value)

Met deze methode wordt de opgegeven queryvariabele ingesteld op een specifieke waarde.

& Get_posts ()

Deze methode retourneert de berichten die door de query zijn aangevraagd en vult de $ posts en $ POST_COUNT eigenschappen.

next_post ()

Deze methode verhoogt het $ current_post indexeren en doorgaan naar de volgende post in $ posts, het huidige post-object retourneren. (Deze methode moet binnen een Loop worden gebruikt om correct te werken.)

de post()

Met deze methode wordt de globale ingesteld $ bericht variabele met de gegevens van de volgende post. (Deze methode moet binnen een Loop worden gebruikt om correct te werken.)

have_posts ()

Deze methode controleert of er nog berichten zijn om aan te werken en retourneert VALSE als dat niet zo is. (Deze methode moet worden gebruikt voor een Loop om correct te werken.)

rewind_posts ()

Deze methode reset gewoon de $ current_post en $ bericht eigenschappen.

& query ($ query)

Deze methode roept twee van zijn broer / zus-methoden op, parse_query () en get_posts (), en retourneert het resultaat van get_posts ().

get_queried_object ()

Met deze methode wordt het opgevraagde object geretourneerd. (Het gaat in $ queried_object als het nog niet is ingesteld.)

get_queried_object_id ()

Deze methode, vergelijkbaar met die hierboven, retourneert de ID van het opgevraagde object ($ queried_object_id).

Snelle tip: Als er vóór een methode een ampersand staat, betekent dit dat de methode door verwijzing wordt geretourneerd.

Inpakken voor vandaag

Ik hoop dat ik het voor jou duidelijk heb gemaakt wat 'eigenschappen' en 'methoden' betekenen voor klassen. En als u het doel van de eigenschappen en methoden van de WP_Query klas, kan ik zeggen dat ik een goede baan heb gedaan!

Heb je iets toe te voegen aan dit artikel? Deel uw mening met ons in het gedeelte Opmerkingen hieronder. En als je het artikel leuk vond, vergeet dan niet om het met je vrienden te delen.

Tot ziens in het volgende deel van de serie!