Cosa succede quando un visitatore richiede una pagina del vostro sito?
Si attiva una complessa procedura che vede coinvolto il client (il browser dell’utente), il server, il CMS e infine di nuovo il client, che riporterà all’utente la risorsa richiesta oppure, se qualcosa non è andato come avrebbe dovuto, un messaggio di errore del server.
A seguito dell’invio di una richiesta da parte del client, WordPress carica svariati file del core, tra cui wp-config.php, wp-settings.php, wp-includes/functions.php, ecc. (per una descrizione dettagliata, si veda Query Overview).
Ad un certo punto, cioè quando è stato caricato l’oggetto $wp
, in WordPress si attiva una sequenza di operazioni:
- WordPress analizza l’URL della richiesta e lo scompone in una serie di parametri. Questi parametri costituiscono la query specification.
- Vengono definite le variabili
is_
utilizzate dai conditional tag, ossia quelle funzioni di WordPress che verificano la sussistenza di determinate condizioni (ad es. la funzione is_home()
verifica se la pagina richiesta dall’utente sia la home page del sito). Queste funzioni dipendono dalle variabili presenti nella query specification. - La query specification viene convertita in una query MySQL, che viene eseguita sul database. All’interno di un Loop, la risposta viene memorizzata in un oggetto
$wp_query
, mentre se la richiesta viene dalla funzione get_posts()
, la risposta sarà memorizzata in un array di oggetti $post
. - WordPress gestisce, quindi, gli errori 404, invia gli header HTTP, inizializza alcune variabili del Loop e seleziona il template da utilizzare per visualizzare la risorsa richiesta in base alle variabili della query specification
- WordPress carica il Template secondo l’ordine della gerarchia dei template.
- WordPress esegue il Loop.