Categorie
Sviluppo

Come Interrogare il Database di WordPress (WP_Query, pre_get_posts, get_posts)

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:

  1. WordPress analizza l’URL della richiesta e lo scompone in una serie di parametri. Questi parametri costituiscono la query specification.
  2. 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.
  3. 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.
  4. 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
  5. WordPress carica il Template secondo l’ordine della gerarchia dei template.
  6. WordPress esegue il Loop.
Categorie
Sviluppo

Sublime Text: Scorciatoie da Tastiera e Funzionalità Nascoste

Sublime Text è un potente editor di testo che permette di semplificare l’editing dei testi e del codice e di velocizzare al contempo il proprio flusso di lavoro. Si tratta di un editor estremamente completo e avanzato, che permette di lavorare sia su più schede nella stessa finestra che su finestre separate.

Categorie
Internet Servizi Web

Le Migliori Estensioni di Google Chrome per il Blogging e per WordPress (2019)

Ho scavato nella categoria Developer Tools (e in qualche altra categoria) delle estensioni di Google Chrome, alla ricerca di estensioni che potessero essere di aiuto nel lavoro quotidiano con WordPress. Ce ne sono centinaia, e provarle tutte è impossibile, ma, leggendo anche le opinioni di altri sviluppatori, mi sono ridotto ad una lista delle estensioni di Google Chrome che possono costituire un valido aiuto nelle attività quotidiane online, soprattutto per quel che riguarda WordPress.

Categorie
Internet

Cosa È il DNS e Come Puntare i Record DNS Verso il Proprio Host

DNS è l’acronimo di Domain Name System. In italiano sarebbe sistema dei nomi di dominio. Viene definito da Wikipedia come un sistema per la risoluzione di nomi dei nodi della rete (host) in indirizzi IP.

Cosa vuol dire in parole semplici?

Categorie
Sviluppo

Sicurezza e Prestazioni: Le Keyword noopener e noreferrer

La documentazione ufficiale di Google Lighthouse individua due punti critici nei link web esterni (cross-origin) delle pagine web: prestazioni e sicurezza. Ecco cosa ci dice Google a proposito delle prestazioni:

Quando aprite un’altra pagina utilizzando target="_blank", l’altra pagina potrebbe essere eseguita sullo stesso processo della vostra pagina, a meno che non sia abilitato l’isolamento del sito. Se l’altra pagina esegue una gran quantità di codice JavaScript, ne potrebbe soffrire anche la vostra pagina. Si legga The Performance Benefits of rel=noopener

Ed ecco, invece, quanto si afferma a proposito della sicurezza:

L’altra pagina può accedere al vostro oggetto window con la proprietà window.opener. Questo espone una superficie di attacco in quanto l’altra pagina può potenzialmente reindirizzare la vostra pagina ad un URL malevolo. Si legga About rel=noopener.

Categorie
Sviluppo

Le Relazioni tra le Risorse: l’Attributo rel="alternate"

L’attributo rel stabilisce la relazione tra il documento corrente e un documento collegato e incide su diversi ambiti della gestione di un sito web: sicurezza, prestazioni, indicizzazione, informazioni di vario tipo e molto altro. In pratica, l’attributo rel si presta a numerosi impieghi e per questo motivo può assumere un numero considerevole di valori.

Categorie
Servizi Web

Come Importare Dati Esterni in Google Sheets

Quando parliamo di applicazioni online come il pacchetto di applicazioni racchiuse all’interno del servizio di Google Suite, facciamo riferimento al cosiddetto SaaS (Software as a Service), ossia, per dirla con Wikipedia:

… un modello di distribuzione del software applicativo dove un produttore di software sviluppa, opera (direttamente o tramite terze parti) e gestisce un’applicazione web che mette a disposizione dei propri clienti via Internet (previo abbonamento); spesso si tratta di un servizio di cloud computing.

Categorie
Sviluppo

WordCamp Torino 2019: Tipi di Post, Tassonomie e Campi Personalizzati

Lascio in questo post la presentazione dell’intervento al WordCamp Torino 2019 in cui ho parlato di custom post type, custom taxonomy e custom field, oltre all’elenco delle risorse che ho citato durante lo speech. Chi volesse approfondire questi argomenti o chiedermi altre informazioni, non deve far altro che lasciarmi un commento qui sotto 🙂

Il codice utilizzato è disponibile su Gist.

Risorse citate:

Risorse interne a questo sito:

Risorse del Codex:

I plugin di cui ho parlato al WordCamp Torino 2019:

Categorie
Sviluppo

Come Installare WordPress in Locale su Mac OS con MAMP 5.2 (2019)

Quando si comincia a sviluppare un sito web è molto probabile che sia necessario fare numerosi test sui plugin e sui temi che si utilizzeranno quando il sito sarà in funzione. Scegliere un plugin, ad esempio, è un’attività che può richiedere del tempo, varie installazioni, dei confronti che sarebbe comodo effettuare sul proprio computer prima di andare online. Oltre ai plugin, potrebbe essere opportuno provare le funzionalità di diversi temi.

Se, poi, dobbiamo sviluppare plugin o child themes personali, allora le modifiche possono diventare continue e il salvataggio e l’upload dei file ad ogni modifica diventa un’operazione alquanto noiosa. Per questo è utile dotare il proprio computer di un ambiente in cui sviluppare e testare senza inutili tempi di attesa.

Categorie
Servizi Web

Come Scegliere il Servizio di Hosting WordPress più Adatto a Noi

Una volta deciso il nome dominio, è il momento di acquistare il servizio di hosting, ossia “prendere in affitto” un po’ di spazio su un server connesso alla rete Internet dove depositare i file e il database del nostro sito web. Le alternative che si presenteranno sono quasi infinite, e se siete agli inizi avrete serie difficoltà nella scelta del servizio di hosting.