php nei widget di WordPress

In Wordpress by Roberto0 Comments

[x_custom_headline type=”left” level=”h2″ looks_like=”h4″]Sono certo che se avete un blog basato su WordPress, come me sarete sempre alla ricerca di funzionalità aggiuntive che possano integrarsi perfettamente al vostro blog, aggiungendo qualcosa, ma senza appesantirlo; oggi vi spiegherò come eseguire codice php nei widget di WordPress.[/x_custom_headline]
Come promesso in altri articoli, ho deciso di indicarvi qualche dritta se siete agli inizi con WordPress oppure, più semplicemente, se non conoscete quello che voglio descrivervi: eseguire codice php nei widget di WordPress.

Ci sono tantissimi plugin in grado di sopperire a questa esigenza, ma se avete letto il mio post su come velocizzare wordpress saprete che meno plugin utilizzate, meglio è per il vostro blog. Tutto quello che questi plugins fanno, può essere eseguito modificando il file functions.php del vostro template e aggiungendo poche righe di codice.

Passiamo alle modifiche vere e proprie:
collegatevi in FTP sul vostro dominio e cercate il file functions.php che, solitamente, si trova in questa posizione:

public_html/wp-content/themes/NOMETEMPLATE/functions.php

aprite il file php con un editor e aggiungete queste righe di codice:

[x_code]
add_filter(‘widget_text’,’execute_php’,100);
function execute_php($html){
if(strpos($html,”<“.”?php”)!==false){
ob_start();
eval(“?”.”>”.$html);
$html=ob_get_contents();
ob_end_clean();
}
return $html;
}
[/x_code]

Queste poche righe di codice faranno si che il vostro blog WordPress possa ora eseguire del codice PHP all’interno dei vostri widget e questo vi darà la possibilità di aggiungere funzionalità senza appesantire il vostro blog.

Per spiegarvi l’utilità di questo “trucco”, eccovi l’immagine di 3 miei widget presi direttamente dalle pagine di robertobonfa.it:

php nei widget

Come potete vedere, con le poche righe di codice aggiunte al file , sul mio sito posso ricavare l’orario attuale, il vostro indirizzo IP e il numero di queries che il mio DB esegue ogni volta che viene caricata una pagina.

Se voleste anche aggiungere l’ulteriore possibilità di eseguire codice php nelle pagine e post, allora utilizzare queste righe al posto di quelle precedenti:

[x_code] 
add_filter('the_content','execute_php',100);
add_filter('widget_text','execute_php',100);
function execute_php($html){
 if(strpos($html,"".$html);
 $html=ob_get_contents();
 ob_end_clean();
 }
 return $html;
}
[/x_code]

Ecco fatto: una piccolissima modifica al “cuore” della vostra installazione WordPress e avete ricavato una funzionalità per cui esistono decine di plugins.

Buon divertimento!

Leave a Comment