Sei qui: Homepage » wordpress » Come personalizzare i default Widget di Wordpress
nov 27 2009
Wordpress include una serie di widget molto utili, che possono essere inseriti fin da subito all’interno di ogni tema. Possono essere visualizzati gli ultimi commenti, i post più recenti ed una serie di altre informazioni utili gestendo tutto dal pannello di amministrazione.
Spesso però i default widget sono limitati e non adatti a tutte le occasioni: potreste avere la necessità di eliminare una particolare categoria dagli ultimi post, o di modificare il codice html con cui viene presentato il box di ricerca.
La soluzione fortunatamente esiste e non è complessa: è possibile infatti recuperare i widget esistenti, modificarli e farli apparire sul pannello di amministrazione accanto a quelli standard.
Se avete un minimo di basi di php, creare i vostri widget è semplice. Questa è la procedura in sintesi:
register_widget('nome_del_widget_personalizzato');I vantaggi di questo metodo sono notevoli:
Se decidete di personalizzare i widget, fate però attenzione: non modificate direttamente il file default-widgets.php, è bene che il core di Wordpress resti intatto. Utilizzare functions.php è l’ideale: eviterete possibili problemi e soprattutto potrete aggiornare Wordpress senza preoccupazioni. Gli update della piattaforma sono frequenti e spesso essenziali per motivi di sicurezza, non è mai bene vincolarsi ad una particolare versione.
Hai trovato interessante questo post? Puoi leggere anche i seguenti articoli:
Classificato in wordpress. Puoi fare un trackback dal tuo sito.
TomStardust Diary - Il blog personale di Tommaso Baldovino
TomStardust.com è realizzato secondo i canoni dell'accessibilità, le normative del W3C, e la legge Stanca, pur non essendo il sito di una pubblica amministrazione e non avendo nessun obbligo a riguardo.
Poter navigare su internet ed accedere alle informazioni sulla rete è un diritto di tutti, realizzare siti che rispondano agli standard web dovrebbe essere un dovere di ogni sviluppatore.
Questo sito e tutti i suoi contenuti, compresi i temi Wordpress, sono pubblicati sotto licenza Creative Commons 2.5.
Questo sito non rappresenta una testata giornalistica e viene aggiornato senza alcuna periodicità.
Powered by Wordpress
Grazie Tom.
questa cosa mi mancava perché volevo personalizzare qualche widget ma non ho mai avuto la voglia di mettere mano al codice
ho solo un dubbio.. ma in questo modo non si creano dei duplicati??
@Laura: sul pannello di amministrazione con questa procedura appare un nuovo widget. Gli puoi dare nome e descrizione corrispondenti alla nuova funzione in modo da renderlo riconoscibile da quello standard.
Se poi duplichi un widget esistente e gli dai lo stesso nome ovviamente te ne troverai due apparentemente uguali, mi pare logico :)
si.. mi pare logico anzi, scusa per la domanda banale :-p
Grazie Tom, guida ben dettagliata e utile.
Ottimo consiglio…. vorrei sapere se qualcuno ha mai provato a programmare un plug-in o widget di word press da zero….. Non sembra una cosa impossibile ma il problema (presumo ) siano i futuri aggiornamenti….. Tuttavia secondo me la realizzazione di plug-in o widget per wordpress porta un sacco di visibilità e “stima” nel web….
Ciao,
era proprio la guida che cercavo.
Però non mi funziona:
copiato il codice da wp-includes/default-widgets.php
e incollato su \wp-content\themes\temamio\function.php
modificato il nome della funzione e infine aggiunto register_widget(‘nome_del_widget_personalizzato’);
Niente! Nell’amministrazione non esce un nuovo Widget, anche se il codice è uguale al widget originale.
Suggerimenti?
Grazie mille ciao!
Andrea
@Andrea: probabilmente ti sei perso qualche modifica cambiando il nome della funzione. Fai qualche prova cercando in tutto il testo il vecchio nome e controlla le prime 3-4 righe della funzione, dove c’è “classname” ad esempio. Se non ti appare il nuovo widget è perchè ha qualcosa in comune con quello di default, e non viene considerato.
Grazie,
non funziona lo stesso,
ho provato con un widget base come il calendario, o la ricerca.
E provato con il kubrik.
Forse è perchè provo in locale con easyphp? No non ha senso.
Grazie lo stesso, ciao!!