Padronanza di WP_Query proprietà e metodi

Benvenuti in un'altra parte della nostra serie "Mastering WP_Query". Come stiamo andando così lontano? Spero che ti piacciano questi tutorial tanto quanto ci divertiamo a scriverli.

In questo tutorial, imparerai le proprietà e i metodi di WP_Query classe. Ma prima, penso sia appropriato parlare di "proprietà" e "metodi" in una classe.

Lo facciamo?

Quali sono le proprietà e i metodi, esattamente?

In PHP, c'è un modo per scrivere codice in a addetto alle pulizie modo: programmazione orientata agli oggetti o OOP. Con OOP, usiamo "classi" come progetti - ho preso il termine da uno dei classico post di Code Tuts +, "Object-Oriented PHP for Beginners" di Jason Lengstorf:

Una classe, per esempio, è come un progetto per una casa. Definisce la forma della casa su carta, con relazioni tra le diverse parti della casa chiaramente definite e pianificate, anche se la casa non esiste.

(E ricordalo WP_Query è una classe essenziale del core di WordPress.)

Quando comprendi la nozione di classi PHP, "proprietà" e "metodi" diventano estremamente facili da capire poiché le parole sono solo sinonimi di "variabili" e "funzioni". Sì, proprietà sono variabili di una classe PHP e metodi sono funzioni di una classe PHP.

Ora abbiamo coperto ciò che sono, conosciamo ognuna di queste proprietà e metodi.

Avvertimento: Non sarebbe saggio cambiare direttamente le proprietà. Come dice il Codice, dovresti interagire con loro usando i metodi di WP_Query.

Proprietà della classe WP_Query

Iniziamo con le proprietà, o le variabili, del WP_Query classe.

La stringa di query: $ query

Questa proprietà memorizza la query passata a $ WP_Query oggetto.

La matrice di variabili di query: $ query_vars

Questa proprietà memorizza un array associativo delle variabili (e dei loro valori) di $ query.

L'oggetto interrogato: $ queried_object

Questa proprietà memorizza l'oggetto attualmente interrogato, come il $ postale oggetto se si tratta di una query post o il $ autore oggetto se si tratta di una query dell'autore.

L'ID dell'oggetto interrogato: $ queried_object_id

Questa proprietà memorizza l'ID dell'oggetto interrogato.

I post restituiti dalla query: $ messaggi

Questa proprietà memorizza i post restituiti dalla query.

Il numero di messaggi visualizzati: $ POST_COUNT

Questa proprietà memorizza il numero di post per la query corrente.

Il numero di messaggi restituiti dalla query: $ found_posts

Questa proprietà memorizza il numero di post senza il LIMITE clausola della query SQL.

Il numero di pagine: $ max_num_pages

Questa proprietà memorizza il numero di pagine, calcolato dividendo $ found_posts di $ posts_per_page.

L'indice del post corrente: $ current_post

Questa proprietà memorizza il numero di indice dell'elemento corrente nel Loop. Ad esempio, lo è -1 se il ciclo è appena iniziato e viene incrementato dal file next_post () metodo.

L'attuale messaggio: $ postale

Questa proprietà memorizza, bene, il post corrente.

Tag condizionale Booleans: $ Is_ condizionale

Le seguenti proprietà sono memorizzate come booleani, fornendo informazioni sullo stato del post corrente:

  • $ is_single: Controlla se si tratta di un singolo post di qualsiasi tipo di post (eccetto i tipi di post "allegato" e "pagina") o meno.
  • $ is_page: Controlla se si tratta di una pagina o no.
  • $ is_archive: Controlla se si tratta di una pagina di archivio o no.
  • $ is_preview: Controlla se si tratta di un'anteprima del post o no.
  • $ is_date: Controlla se si tratta di una pagina di archivio basata sulla data o meno.
  • $ is_year: Controlla se si tratta di una pagina di archivio annuale o meno.
  • $ is_month: Controlla se si tratta di una pagina di archivio basata sul mese o meno.
  • $ is_time: Verifica se si tratta di una pagina di archivio basata sul tempo (orario, minuzioso o secondario) oppure no.
  • $ is_author: Controlla se si tratta di una pagina di archivio dell'autore o no.
  • $ is_category: Controlla se si tratta di una pagina di archivio di categoria o meno.
  • $ is_tag: Controlla se si tratta di una pagina di archivio tag o no.
  • $ is_tax: Controlla se si tratta di una pagina di archivio tassonomia o no.
  • $ is_search: Controlla se si tratta di una pagina di "risultati di ricerca" o meno.
  • $ is_feed: Controlla se si tratta di un feed o no.
  • $ is_comment_feed: Controlla se si tratta di un feed di commenti o meno.
  • $ is_trackback: Verifica se si tratta di un trackback o meno.
  • $ is_home: Controlla se è la pagina principale del blog o no.
  • $ is_404: Verifica se si tratta di una pagina di errore 404 o meno.
  • $ is_comments_popup: Controlla se si tratta di una finestra popup di commenti o meno.
  • $ is_admin: Controlla se è il pannello di amministrazione o meno.
  • $ is_attachment: Controlla se si tratta di un allegato o meno.
  • $ is_singular: Verifica se si tratta di un singolo post di qualsiasi tipo di post (inclusi i tipi di post "allegato" e "pagina") o meno.
  • $ is_robots: Verifica se si tratta di una query per robots.txt file o no.
  • $ is_posts_page: Verifica se si tratta della "Pagina dei post" (impostata nella pagina "Impostazioni di lettura" nel pannello di amministrazione) o meno.
  • $ is_paged: Verifica se si tratta di una query impaginata e non è la prima pagina.

Metodi della classe WP_Query

Ora che abbiamo finito con le proprietà, passiamo ai metodi (funzioni) di WP_Query classe.

dentro()

Questo metodo inizializza semplicemente l'oggetto, impostando tutte le proprietà su NULLO, 0 o FALSE.

parse_query ($ query)

Questo metodo utilizza il $ query proprietà per analizzare la query e popolare tutte le altre proprietà (eccetto $ messaggi, $ POST_COUNT, $ postale e $ current_post).

parse_query_vars ()

Questo metodo riorganizza le variabili di query.

get ($ query_var)

Questo metodo recupera una determinata variabile di query.

set ($ query_var, $ valore)

Questo metodo imposta la variabile di query data su un valore specifico.

& get_posts ()

Questo metodo restituisce i post richiesti dalla query e popola il file $ messaggi e $ POST_COUNT proprietà.

next_post ()

Questo metodo incrementa il $ current_post indice e anticipi al prossimo post in $ messaggi, restituendo l'oggetto attuale del post. (Questo metodo deve essere utilizzato all'interno di un Loop per funzionare correttamente).

the_post ()

Questo metodo imposta il globale $ postale variabile con i dati del prossimo post. (Questo metodo deve essere utilizzato all'interno di un Loop per funzionare correttamente).

have_posts ()

Questo metodo controlla se ci sono post su cui lavorare e restituisce FALSE se non ci sono. (Questo metodo deve essere usato prima un ciclo per funzionare correttamente).

rewind_posts ()

Questo metodo semplicemente resetta il $ current_post e $ postale proprietà.

& query ($ query)

Questo metodo chiama due dei suoi metodi fratelli, parse_query () e get_posts (), e restituisce il risultato di get_posts ().

get_queried_object ()

Questo metodo restituisce l'oggetto interrogato. (Imposta $ queried_object se non è già impostato.)

get_queried_object_id ()

Questo metodo, simile a quello sopra, restituisce l'ID dell'oggetto interrogato ($ queried_object_id).

Consiglio rapido: Se c'è una e commerciale prima di un metodo, significa che il metodo restituisce per riferimento.

Conclusione per oggi

Spero di essere riuscito a chiarire per te cosa significano "proprietà" e "metodi" per le classi. E se hai capito lo scopo delle proprietà e dei metodi del WP_Query classe, posso dire che ho fatto un lavoro decente!

Hai qualcosa da aggiungere a questo articolo? Condividi i tuoi pensieri con noi nella sezione commenti qui sotto. E se ti è piaciuto l'articolo, non dimenticare di condividerlo con i tuoi amici.

Ci vediamo nella prossima parte della serie!