Mastering WP_Query Egenskaper og metoder

Velkommen til enda en del av vår "Mastering WP_Query" -serie. Hvordan skal vi gjøre så langt? Jeg håper du nyter disse opplæringene så mye som vi nyter å skrive dem.

I denne opplæringen skal du lære om egenskapene og metodene til WP_Query klasse. Men først synes jeg det er riktig å snakke om hvilke "egenskaper" og "metoder" som er i en klasse.

Skal vi?

Hva er egenskaper og metoder, nøyaktig?

I PHP er det en måte å skrive kode på i renere vei: objektorientert programmering, eller OOP. Med OOP bruker vi "klasser" som blueprints-jeg tok ordet fra en av klassiker innlegg av Code Tuts +, "Object-Oriented PHP for Beginners" av Jason Lengstorf:

En klasse, for eksempel, er som et blåkopi for et hus. Det definerer husets form på papir, med forhold mellom de forskjellige delene av huset klart definert og planlagt, selv om huset ikke eksisterer.

(Og husk det WP_Query er en viktig klasse av WordPress-kjerne.)

Når du forstår begrepet PHP-klasser, blir "egenskaper" og "metoder" ekstremt lett å forstå siden ordene bare er synonymer for "variabler" og "funksjoner". Jepp, eiendommer er variabler av en PHP klasse og fremgangsmåter er funksjoner i en PHP klasse.

Nå har vi dekket hva de er, la oss bli kjent med hver av disse egenskapene og metodene.

Advarsel: Det ville ikke være klokt å endre egenskapene direkte. Som Codex sier, bør du samhandle med dem ved hjelp av metodene til WP_Query.

Egenskaper for WP_Query-klassen

La oss begynne med egenskapene, eller variablene, av WP_Query klasse.

Forespørselsstrengen: $ query

Denne egenskapen lagrer spørringen som sendes til $ wp_query gjenstand.

Array of Query Variables: $ query_vars

Denne egenskapen lagrer et assosiativt utvalg av variablene (og deres verdier) for $ query.

Det Queried Object: $ queried_object

Denne egenskapen lagrer det aktuelle spørsmålet, for eksempel $ post objekt hvis det er et innlegg eller det $ forfatter objekt hvis det er en forfatterforespørsel.

ID for det forespurte objektet: $ queried_object_id

Denne egenskapen lagrer IDen til det forespurte objektet.

Innleggene returnerte fra spørringen: $ innlegg

Denne egenskapen lagrer innleggene som returneres fra spørringen.

Antall innlegg som blir vist: $ POST_COUNT

Denne egenskapen lagrer antall innlegg for gjeldende søk.

Antall innlegg returnert fra spørringen: $ found_posts

Denne egenskapen lagrer antall innlegg uten GRENSE klausul i SQL-spørringen.

Antall sider: $ MAX_NUM_PAGES

Denne egenskapen lagrer antall sider - det beregnes ved å dele $ found_posts av $ posts_per_page.

Indeksen for gjeldende innlegg: $ current_post

Denne egenskapen lagrer indeksnummeret til gjeldende element i Loop. For eksempel er det -1 hvis Loop har nettopp startet og det økes av next_post () metode.

Nåværende innlegg: $ post

Denne eiendommen lagrer, nåværende innlegg.

Betingede tagbooleaner: $ En skisse sett betinget

Følgende egenskaper lagres som boolesker, og gir informasjon om gjeldende innleggs status:

  • $ is_single: Kontrollerer om det er et enkelt innlegg av en posttype (unntatt "vedlegg" og "side" posttyper) eller ikke.
  • $ is_page: Kontrollerer om det er en side eller ikke.
  • $ is_archive: Kontrollerer om det er en arkivside eller ikke.
  • $ is_preview: Kontrollerer om det er en forhåndsvisning eller ikke.
  • $ is_date: Kontrollerer om det er en datobasert arkivside eller ikke.
  • $ is_year: Kontrollerer om det er en årsbasert arkivside eller ikke.
  • $ is_month: Kontrollerer om det er en månedsbasert arkivside eller ikke.
  • $ is_time: Kontrollerer om det er en tidsbasert (time, minutt eller andre) arkivside eller ikke.
  • $ is_author: Kontrollerer om det er en forfatters arkivside eller ikke.
  • $ is_category: Kontrollerer om det er en kategori arkivside eller ikke.
  • $ is_tag: Kontrollerer om det er en arkivarkivsside eller ikke.
  • $ is_tax: Kontrollerer om det er en taksonomiarkivside eller ikke.
  • $ is_search: Kontrollerer om det er en "søkeresultater" side eller ikke.
  • $ is_feed: Kontrollerer om det er en feed eller ikke.
  • $ is_comment_feed: Kontrollerer om det er en kommentar feed eller ikke.
  • $ is_trackback: Kontrollerer om det er en trackback eller ikke.
  • $ is_home: Kontrollerer om det er hovedbloggsiden eller ikke.
  • $ is_404: Kontrollerer om det er en 404 feilside eller ikke.
  • $ is_comments_popup: Kontrollerer om det er et kommentarer-popup-vindu eller ikke.
  • $ is_admin: Kontrollerer om det er administrasjonspanelet eller ikke.
  • $ is_attachment: Kontrollerer om det er et vedlegg eller ikke.
  • $ is_singular: Kontrollerer om det er et enkelt innlegg av en posttype (inkludert "vedlegg" og "side" posttyper) eller ikke.
  • $ is_robots: Kontrollerer om det er et spørsmål for robots.txt fil eller ikke.
  • $ is_posts_page: Kontrollerer om det er "Innleggsside" (angitt på siden "Leseinnstillinger" i administrasjonspanelet) eller ikke.
  • $ is_paged: Kontrollerer om det er en paginert spørring, og det er ikke den første siden.

Metoder for WP_Query-klassen

Nå som vi er ferdige med egenskapene, la oss gå videre til metodene (funksjonene) til WP_Query klasse.

i det()

Denne metoden initierer bare objektet, setter alle egenskaper til NULL, 0 eller FALSK.

parse_query ($ query)

Denne metoden bruker $ query egenskap for å analysere spørringen og fylle alle andre egenskaper (unntatt $ innlegg, $ POST_COUNT, $ post og $ current_post).

parse_query_vars ()

Denne metoden gjengir forespørselsvariablene.

få ($ query_var)

Denne metoden henter en gitt spørringsvariabel.

sett ($ query_var, $ value)

Denne metoden setter den oppgitte spørringsvariabelen til en bestemt verdi.

og get_posts ()

Denne metoden returnerer innleggene forespurt av spørringen og fyller inn $ innlegg og $ POST_COUNT eiendommer.

next_post ()

Denne metoden øker $ current_post indeks og fremskritt til neste innlegg i $ innlegg, retur gjeldende postobjekt. (Denne metoden må brukes inne i en Loop for å fungere skikkelig.)

posten()

Denne metoden setter global $ post variabel med neste innleggs data. (Denne metoden må brukes inne i en Loop for å fungere skikkelig.)

have_posts ()

Denne metoden sjekker om det er noen innlegg igjen å jobbe på, og returnerer FALSK hvis det ikke er det. (Denne metoden må brukes før en loop for å fungere skikkelig.)

rewind_posts ()

Denne metoden tilbakestiller bare $ current_post og $ post eiendommer.

& spørring ($ spørring)

Denne metoden kaller to av sine søskenmetoder, parse_query () og get_posts (), og returnerer resultatet av get_posts ().

get_queried_object ()

Denne metoden returnerer det forespurte objektet. (Det setter $ queried_object hvis den ikke allerede er angitt.)

get_queried_object_id ()

Denne metoden, som ligner den ovenfor, returnerer det forespurte objektets ID ($ queried_object_id).

Raskt tips: Hvis det er en ampersand før en metode, betyr det at metoden returnerer ved referanse.

Wrapping Up for Today

Jeg håper jeg klarte å gjøre det klart for deg hva "egenskaper" og "metoder" betyr for klasser. Og hvis du forsto formålet med egenskapene og metodene til WP_Query klasse, kan jeg si at jeg har gjort en anstendig jobb!

Har du noe å legge til i denne artikkelen? Del dine tanker med oss ​​i kommentarfeltet nedenfor. Og hvis du likte artikkelen, ikke glem å dele den med vennene dine.

Se deg i neste del av serien!