Wordpress - Come modificare la sezione "head"

Web Design, WordPress
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
10 anni fa

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

Marco Panichi
10 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!!!)