Categorie
Temi

Leggere i dati scritti nel header dello style.css di un tema

Il file style.css di un Tema presenta all’inizio un lungo commento. Questo commento contiene una collezione di informazioni sul Tema stesso. Scopriamo cosa sono i metadati associati ad un Tema e quali sono le funzioni che ci permettono di recuperarli.

Cosa contiene l’intestazione del file style.css

Ogni Tema di WordPress deve contenere il file style.css.
Il file style.css presenta un commento all’inizio con delle informazioni usate da WordPress per visualizzare il Theme all’interno dei menù. Inoltre viene usato dal catalogo dei Temi di WordPress per organizzare i Temi e facilitare la ricerca al suo interno.

Cosa sono i metadati?

Con metadati si intendono delle informazioni che descrivano un’altra collezione di informazioni.

Suona un po’ ridondante ma con un semplice esempio è possibile capire facilmente di cosa parliamo; le immagini digitali oltre alla foto in formato numerico contengono dei metadati.

Questi metadati contengono il modello di macchina che ha scattato la foto l’apertura, il tempo di esposizione e altre informazioni che descrivono l’immagine ma non sono l’immagine stessa.

Nel caso delle immagini digitali abbiamo dati e metadati tutti all’interno dello stesso contenitore, il file immagine.

Come leggiamo i metadati del Tema?

La struttura generale delle informazioni contenute nello style.css è visibile nella snippet:

/**
 * Chiave1: Valore1
 * Chiave2: Valore2
 * ...
 * ChiaveN: ValoreN
 */

Queste informazioni sono comuni anche ai metadati relativi ai plugin che vedremo in un prossimo articolo.

Quali sono le funzioni che permettono di leggere i metadati dei Temi?

Le informazioni contenute all’inizio dello style.css possono essere lette in PHP tramite delle funzioni presenti nel core di WordPress.

get_file_data()

La funzione generica get_file_data() prende il percorso di un file e legge l’intestazione formattata in questo modo:

/**
 * Chiave1: Valore1
 * Chiave2: Valore2
 * ...
 * ChiaveN: ValoreN
 */

e restituisce un array associativo:

<?php
/* ... */
array(
 'Chiave1' => 'Valore1',
 'Chiave2' => 'Valore2',
 ...
 'ChiaveN' => 'ValoreN',
)

Per approfondire l’argomento su get_file_data()

wp_get_theme()

L’altra funzione è wp_get_theme() ed è specifica per i metadati dei Temi; questa recupera i dati presenti all’inizio del file style.css e restituisce un oggetto; le informazioni le potete accedere tramite il metodo get() dell’oggetto WP_Theme:

<?php
/* ... */
$the_theme = wp_get_theme();
$valore = $the_theme->get( 'Chiave2' );
echo $valore; // stampa Valore2

In questo modo è possibile accedere a tutte le informazioni scritte in testa allo style.css.

Se vuoi approfondire l’argomento la miglior fonte di informazione è la pagina developer dedicata di wordpress.org al Main Stylesheet.

Come uso i metadati del tema?

Un esempio pratico semplice e veloce.

Durante lo sviluppo e dopo la messa online si può usare il campo Version dei meta dati per forzare lo svuotamento della cache e/o della CDN perché questo campo può essere facilmente accodato come query string nelle risorse js e css dalle funzione wp_enqueue_style e wp_enqueue_script.

Con questo semplice trucco potete forzare l’aggiornamento anche della cache dei Browser ed evitare che i vostri utenti debbano attendere per poter vedere le modifiche che avete appena ultimato!

E’ da questi dati che WordPress prende le informazioni visualizzate nel Pannello “Aspetto > Temi” e wordpress.org le usa per catalogare i temi al sui interno.

Esiste anche la funziona get_theme_data ma questa è stata deprecata dalla versione 3.0.4 di WordPress e se ne sconsiglia l’uso.
Se andata a guardare nel codice vedrete che questa è solo un layer di compatibilità per permettere agli sviluppatori di temi e plugin una transizione graduale alla nuova funzione.

Una risposta su “Leggere i dati scritti nel header dello style.css di un tema”

I commenti sono chiusi

Su questo sito Web utilizziamo strumenti proprietari o di terze parti che memorizzano piccoli file ( cookie ) sul tuo dispositivo. I cookie vengono normalmente utilizzati per consentire al sito di funzionare correttamente ( cookie tecnici ), per generare report sull’utilizzo della navigazione ( cookie statistici ) e per pubblicizzare adeguatamente i nostri servizi / prodotti ( cookie di profilazione ). Possiamo utilizzare direttamente i cookie tecnici, ma hai il diritto di scegliere se abilitare o meno i cookie statistici e di profilazione . Abilitando questi cookie, ci aiuti a offrirti un’esperienza migliore .