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?
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
.
Laten we beginnen met de eigenschappen, of de variabelen, van de WP_Query
klasse.
$ vraag
Deze eigenschap slaat de query op die is doorgegeven aan de $ wp_query
voorwerp.
$ query_vars
Deze eigenschap slaat een associatieve array op van de variabelen (en hun waarden) van $ vraag
.
$ 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.
$ queried_object_id
Deze eigenschap slaat de ID van het opgevraagde object op.
$ posts
Deze eigenschap slaat de berichten op die uit de query zijn geretourneerd.
$ POST_COUNT
Deze eigenschap slaat het aantal berichten op voor de huidige query.
$ found_posts
Deze eigenschap slaat het aantal berichten op zonder de BEGRENZING
clausule van de SQL-query.
$ max_num_pages
Deze eigenschap slaat het aantal pagina's op - het wordt berekend door te delen $ found_posts
door $ posts_per_page
.
$ 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.
$ bericht
Deze woning bewaart, nou ja, de huidige post.
$ 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.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.
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!