php nei widget di WordPress

In Wordpress by Roberto2 Comments

Like
Like Love Haha Wow Sad Angry

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.

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:

<br />
add_filter('widget_text','execute_php',100);<br />
function execute_php($html){<br />
if(strpos($html,"&lt;"."?php")!==false){<br />
ob_start();<br />
eval("?"."&gt;".$html);<br />
$html=ob_get_contents();<br />
ob_end_clean();<br />
}<br />
return $html;<br />
}<br />

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:

 
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;
}

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

Buon divertimento!

Roberto Administrator
Info su di me
Informatico di professione. Nerd per passione. Totalmente malato per la tecnologia.
Sono una persona socievole, gentile ed educata. Sono mattiniero, ma anche notturno.
Amo la compagnia delle persone che mi piacciono e so dare molto più di ciò che mi si chiede.
Preferisco fare shopping piuttosto che passare una giornata in piscina
Odio volare, ho il terrore di volare!
Amo le giornate di pioggia e la neve. Odio il caldo.
Ho una memoria eccezionale e questo non è quasi mai un bene, anzi…
Sono esageratamente testardo, quando penso ne valga la pena. So ciò che voglio e lotto sempre, finché posso, per ottenerlo.
Sono molto pretenzioso. È molto facile deludermi e quasi impossibile sorprendermi.
Sono impulsivo, stronzo, ma sempre leale e sincero.
I filtri dell’imbarazzo, della delicatezza e della vergogna a me non li hanno applicati.
Sono molto vendicativo e rancoroso, ma – soprattutto – molto difficilmente dimentico un torto e raramente perdono chi me lo ha fatto.
Odio, in assoluto, le falsità, le menzogne ed essere preso per il culo.

QUI, se volete, potete leggere qualcosa di più su di me; la versione completa.
×
Roberto Administrator
Informatico di professione. Nerd per passione. Totalmente malato per la tecnologia.
Sono una persona socievole, gentile ed educata. Sono mattiniero, ma anche notturno.
Amo la compagnia delle persone che mi piacciono e so dare molto più di ciò che mi si chiede.
Preferisco fare shopping piuttosto che passare una giornata in piscina
Odio volare, ho il terrore di volare!
Amo le giornate di pioggia e la neve. Odio il caldo.
Ho una memoria eccezionale e questo non è quasi mai un bene, anzi…
Sono esageratamente testardo, quando penso ne valga la pena. So ciò che voglio e lotto sempre, finché posso, per ottenerlo.
Sono molto pretenzioso. È molto facile deludermi e quasi impossibile sorprendermi.
Sono impulsivo, stronzo, ma sempre leale e sincero.
I filtri dell’imbarazzo, della delicatezza e della vergogna a me non li hanno applicati.
Sono molto vendicativo e rancoroso, ma – soprattutto – molto difficilmente dimentico un torto e raramente perdono chi me lo ha fatto.
Odio, in assoluto, le falsità, le menzogne ed essere preso per il culo.

QUI, se volete, potete leggere qualcosa di più su di me; la versione completa.
Like
Like Love Haha Wow Sad Angry

CONDIVIDI QUESTO ARTICOLO