Wordpress - Come modificare la sezione "head"

Web Development
cover_head

Scrivendo codice php da oltre dieci anni e venendo da Drupal non nutro particolare simpatia per la filosofia Wordpress secondo la quale le funzioni "si permettono" di stampare a schermo contenuti senza avere il minimo controllo.

Se anche tu la pensi così ed hai la necessità di controllare l'output della di wp_head(), questo breve articolo fa al caso tuo.

Modifica wp_head()

Ecco la funzione che dovrai copiare dentro al file functions.php del tuo tema. La semplice funzione non fa altro che assegnare l'output della funzione wp_head()  alla variabile $head  senza stampare a schermo alcunché.

function my_wp_head()
{
   // assegna l’output di wp_head() a $html
   ob_start();
   wp_head();
   $html = ob_get_clean();

   // elabora $html
   // MODIFICA QUI IL CONTENUTO DELLA VARIABILE $html

   // ritorna $html
   return $html;
}

Utilizzo della nuova funzione in header.php

Ora che hai apportato le tue modifiche grazie alla funzione my_wp_head()  devi sostituire la chiamata a wp_code()  con una chiamata alla neonata funzione.

L'unica riga di codice che dovrai sostituire si trova nel file header.php, per cui apri questo file e cerca la stringa wp_head()  e sostituiscila con my_wp_head()  . Il tuo nuovo header.php dovrebbe assomigliare a qualcosa del genere:

<head>

   <!-- sezione head del tuo tema -->
   
   <?php echo my_wp_head(); ?>

</head>

Usare con cautela

Per esperienza posso dirti che ogni volta che tenti di modificare il comportamento naturale di un software, ti ritrovi sempre in qualche vicolo cieco. Il bello poi è che questo accade solitamente qualche anno dopo aver effettuato la modifica, rendendo tutto molto più "divertente" (si, il mio tono è ironico!).

Per questo motivo il mio consiglio è, quantomeno, di aggiungere un commento nel file header.php che ti segnali la presenza della nuova funzione e il suo scopo. Ad esempio:

// MODIFICHE APPORTATE A WP_HEAD
my_wp_head();

Tua opinione a riguardo?

Hai trovato l'articolo di tuo interesse? Conoscevi questa soluzione oppure ne applicavi un'altra? Vuoi mettere in guardia me o i lettori riguardo l'uso di questa pratica?

Inserisci un commento qui sotto, sei il benvenuto!

Condividi l'articolo

guest
2 Commenti
Inline Feedbacks
View all comments
Clario
Clario
9 anni fa

ho sempre trovato queste personalizzazioni un pò forzate e forse rischiose ma comunque, ottimo articolo.

Marco Panichi
9 anni fa
Reply to  Clario

Anche io sono della stessa opinione. In programmazione, se stai percorrendo una strada troppo faticosa, quasi certamente è sbagliata. E’ così! Però ci sono circostanze in cui occorre forzare la mano per aggirare problemi insormontabili e magari urgenti. L’importante è agire consapevolmente (E COMMENTARE TUTTO!!!)