Plugin API
On this page... (hide)
1. Introduzione
Questa pagina contiene la documentazione degli agganci API (Application Programming Interface) disponibili per gli sviluppatori di plugin per WordPress. Queste informazioni riguardano WordPress versione 1.2 e successive. Nelle versioni precedenti alla 1.2, l'estensione delle funzionalità era ottenuta attraverso la modifica diretta del codice, tramite i cosiddetti "hacks".
L'archivio ufficiale dei plugin e del sistema di sviluppo è wp-plugins.org, che contiene le diverse versioni dei plugin e dei sistemi per il tracciamento dei bug. Usare questo archivio è fortemente consigliato.
Hello Dolly è il primo plugin per WordPress. I commenti all'interno del suo codice possono aiutare a capire come funziona il plugin e fare da guida riguardo la sintassi da adoperare per scrivere i propri plugin. C'è anche un articolo introduttivo (con una seconda parte) che potrebbe rivelarsi utile. Un esempio abbastanza semplice della struttura del database e delle varie tabelle, è riportata nella descrizione della struttura del Database.
NOTA: Scrivere un Plugin è una lettura obbligata per gli autori di plugin. L'articolo fornisce una panoramica sullo sviluppo dei plugin, delle informazioni su come Aggiungere Menu di Amministrazione, Impostazioni e Opzioni, Istruzioni e molte altre informazioni utili.
2. Agganci, Azioni e Filtri
Gli agganci sono implementati in WordPress per permettere al tuo plugin di "agganciarsi" all'interno del codice di WordPress. Ci sono due tipi di agganci:
- Agganci che producono Azioni. Le Azioni sono funzioni che specificano eventi aggiuntivi che possono essere causati dagli eventi interni di WordPress. Gli Agganci-Azione quindi permettono di aggiungere o rimuovere funzioni la cui esecuzione viene lanciata dalle azioni di WordPress. Questi agganci permettono ai plugin di eseguire delle funzioni ogni volta che si verifica un determinato evento all'interno di WordPress, ad esempio: la pubblicazione di un articolo.
- Agganci che producono Filtri. I Filtri sono funzioni che modificano i contenuti di WordPress conservati nel database. Gli Agganci-Filtri permettono di aggiungere o rimuovere i Filtri a vari tipi di contenuto (di solito si tratta di testo) e perciò permettono ai plugin di modificare il contenuto del testo "al volo".
Dal punto di vista della programmazione, Azioni e Filtri sono identici. La funzione add_action non è nient'altro che un alias della funzione add_filter. Nella pratica invece, entrambe fanno cose diverse.
Spesso si può ottenere lo stesso scopo attraverso un'azione e/o un filtro. Ad esempio: si può aggiungere un'azione all'evento publish_post o un filtro al tag the_content. La scelta si basa su ciò che si vuolei ottenere e cioè se si vuole agire una volta sola (primo caso) oppure ogni volta che il contenuto viene visualizzato (secondo caso).
3. Le Azioni
Le Azioni sono lanciate da uno specifico evento che ha luogo all'interno di WordPress, come ad esempio la pubblicazione di un articolo, la scelta di un tema grafico diverso, o la visualizzazione di una pagina all'interno della sezione amministrativa. Le azioni sono utili per fare riferimento ad ogni cambiamento che avviene all'interno del blog, tuttavia ci sono due usi fondamentali:
- Rispondere ad un'azione prodotta dall'utente attraverso la modifica dei dati contenuti nel database o l'invio di email.
- Produrre un output in una pagina specifica all'interno del blog o dell'interfaccia amministrativa di WordPress.
3.1 Aggiungere Azioni
Per utilizzare un aggancio per un plugin che sfrutta le azioni, possiamo per prima cosa creare una funzione php di questo tipo:
function email_friends($post_ID) {
- $friends = 'bob@example.org,susie@example.org';
mail($friends,"Il blog e' stato aggiornato",'Ho scritto un nuovo articolo sul mio blog: http://blog.example.com'); return $post_ID; }
La nostra funzione dovrebbe accettare un solo parametro. Di solito il parametro è l'ID numerico di un articolo o di un commento, ma se non è specificato nella lista sottostante, per maggiore sicurezza devi andare a verificare il codice sorgente di WordPress, cercare la funzione do_action e controllare il secondo parametro.
NOTA: Tieni presente che un altro plugin potrebbe stare già facendo uso della tua nuova funzione se per combinazione hai usato il nome di una funzione già usata nell'altro plugin. Per maggiori informazioni vedi Evitare Funzioni Duplicate.
Le Azioni possono operare sulle variabili globali disponibili all'interno di WordPress, come ad esempio la variabile tabella in $wpdb.
Appena abbiamo completato la nostra funzione, la registramo mediante la chiamata a add_action() nello spazio di esecuzione globale:
add_action ( 'nome_aggancio', 'nome_della_funzione', [priorità] );
dove,
nome_aggancioè un'aggancio-azione fornito da WordPress. Alcuni agganci-azione trasmettono un argomento che puoi usare nella funzione 'nome_della_funzione'.nome_della_funzioneè il nome della funzione che vogliamo venga eseguita dopo che si è verificato l'evento specificato da 'nome_aggancio'. Questa può essere una funzione PHP standard, una funzione contenuta in WordPress, oppure una funzione definita da noi, nel nostro pluginprioritàè un numero intero, un argomento opzionale che può essere usato per specificare l'ordine secondo il quale devono essere eseguite le funzioni associate ad una particolare azione. Se l'argomento non viene specificato, alla funzione viene assegnata la priorità predefinita10. Una funzione con priorità1viene eseguita prima di un'altra funzione che ha priorità2, così più piccolo è il numero intero, più alta è la priorità. Le funzioni con priorità uguale vengono eseguite secondo l'ordine in cui sono state aggiunte all'azione
Ad esempio:
add_action('publish_post', 'email_friends');
- function email_friends($post_ID) {
.. }
Allo stesso modo, possiamo anche rimuovere le Azioni dagli agganci-azione.
Salviamo il codice in un nuovo file, all'interno della directory wp-content/plugins.
Leggi la guida Gestione dei Plugin per sapere come si attivano i plugin.
3.2 Gli Agganci Disponibili per le Azioni
Questa è una lista completa degli agganci per plugin disponibili nella distribuzione base di WordPress versione 1.5 beta 1.
NOTA: La lista che segue non comprende gli agganci disponibili nella versione 1.5 finale. Per un elenco più vasto di azioni e filtri, controlla la lista di Skippy.
- admin_footer
- Parametro Non Usato. Viene eseguito alla fine del pannello di amministrazione, all'interno del tag
body. Utile per l'inserimento di contenuto aggiuntivo. - admin_head
- Parametro Non Usato. Viene eseguito nella sezione
<head>del pannello di amministrazione. Utile per l'inserimento di contenuto aggiuntivo. - admin_menu
- Parametro Non Usato. Viene eseguito dopo che viene visualizzata la struttura del menu di amministrazione del pannello di amministrazione. Utile per aggiungere menu addizionali al pannello di amministrazione.
- comment_closed
- Riceve come parametro l'ID del commento all'articolo. Viene eseguito quando si cerca di visualizzare il form di inserimento dei commenti per un articolo che ha i commenti disabilitati.
- comment_form
- Riceve come parametro l'ID del commento all'articolo. Marcatore Template. Viene eseguito dopo che viene visualizzato il il form di inserimento dei commenti per un articolo che ha i commenti abilitati.
- comment_id_not_found
- Riceve come parametro l'ID del commento all'articolo. Viene eseguito quando si cerca di visualizzare il form di inserimento dei commenti per un articolo che non esiste.
- comment_post
- Riceve come parametro l'ID del commento. Viene eseguito quando viene aggiunto un commento traminte wp-comments.php.
- delete_comment
- Riceve come parametro l'ID del commento. Viene eseguito quando viene cancellato un commento.
- delete_post
- Riceve come parametro l'ID dell'articolo. Viene eseguito quando viene cancellato un articolo.
- edit_comment
- Riceve come parametro l'ID del commento. Viene eseguito quando viene modificato un commento.
- edit_form_advanced
- Parametro Non Usato. Viene eseguito quando viene visualizzata la pagina di modifica avanzata del pannello di amministrazione, poco prima che venga chiuso il tag
<div>che contiene il conenuto dell'articolo all'interno del'area di testo. Utile per inserire campi di tipo input addizionali al modulo di modifica avanzata degli articoli. - edit_page_form
- Parametro Non Usato. Viene eseguito all'interno del tag
<form>nel modulo di modifica delle pagine statiche. Utile per inserire campi di tipo input addizionali nel modulo di modifica delle pagine. - edit_post
- Riceve come parametro l'ID dell'articolo. Viene eseguito ogni volta che viene modificato un articolo.
- generate_rewrite_rules
- Parametro Non Usato. Viene eseguito ogni volta che vengono ridefinite le regole di riscrittura. Per modificare le regole, è preferibile usare il filtro
rewrite_rules_array. - pingback_post
- Riceve come parametro l'ID del commento. Viene eseguito quando un commento viene inserito tramite XMLRPC.
- private_to_published
- Riceve come parametro l'ID dell'articolo. Viene eseguito quando viene cambiato lo stato di un articolo, da privato a pubblico.
- publish_phone
- Riceve come parametro l'ID dell'articolo. Viene eseguito quando un articolo viene inserito tramite wp-mail.php.
- publish_post
- Riceve come parametro l'ID dell'articolo. Viene eseguito quando un articolo viene salvato e il suo stato viene settato a "pubblicato", senza tener conto delle impostazioni precedenti. NOTA: per aggiungere un aggancio a questa azione nella versione 1.2, assicurati di specificare una priorità tra 0 e 9. L'aggancio
generic_pingnon funziona bene e impedisce il funzionamento di agganci che hanno priorità più bassa. - save_post
- Riceve come parametro l'ID dell'articolo. Viene eseguito quando un articolo viene salvato nel database.
- shutdown
- Parametro Non Usato. Viene eseguito quando l'output della pagina è completato.
- simple_edit_form
- Parametro Non Usato. Viene eseguito quando viene visualizzata la pagina di modifica semplice del pannello di amministrazione, poco prima che venga chiuso il tag
<div>che contiene il conenuto dell'articolo all'interno del'area di testo. Utile per inserire campi di tipo input addizionali al modulo di modifica semplice degli articoli. - switch_theme
- Riceve come parametro il nome del tema grafico corrente. Viene eseguito quando viene cambiato il tema grafico del blog.
- template_redirect
- Parametro Non Usato. Viene eseguito prima che venga selezionato il file del tema grafico da usare per visualizzare la pagina richiesta. Utile per fornire template aggiuntivi in base a criteri differenti.
Esempio (a scopo illustrativo): Redirige tutte le richieste al file all.php contenuto nella directory che contiene il template grafico usato nel blog.
function all_on_one {
include(TEMPLATEPATH . '/all.php');
exit;
- }
add_action('template_redirect', 'all_on_one');
- trackback_post
- Riceve come parametro l'ID del commento. Viene eseguito quando un commento viene inserito tramite trackback.php.
- wp_footer
- Parametro Non Usato. Marcatore Template. Viene eseguito alla fine del tag
<body>. Utile per l'inserimento di contenuto aggiuntivo. - wp_head
- Parametro Non Usato. Viene eseguito nella sezione
<head>. Utile per l'inserimento di contenuto aggiuntivo. - wp_meta
- Parametro Non Usato. Viene eseguito nella sezione
<li>Meta</li>del filesidebar.php. Utile per l'inserimento di contenuto aggiuntivo. - wp_set_comment_status
- Riceve come parametro l'ID del commento. Viene eseguito quando cambia lo stato del commento.
4. I Filtri
I Filtri sono funzioni che servono a visualizzare e/o a trasformare i dati. Sono ottime per effettuare cambiamenti ai dati "al volo" (p. es. aggiungere il tag <acronim> a determinate parole).
Le funzioni devono restituire un valore modificato. Se il valore del parametro passato alla funzione non viene modificato, allora deve essere restituito il valore originale così da permettere ai plugin che vengono eseguiti successivamente di modificare, se necessario, il valore. Se la tua funzione non restituisce un valore, allora quel valore sarà vuoto e causerà il malfunzionamento degli altri plugin.
Nella versione 1.2 di WordPress, la funzione generic_ping (che è agganciata all'azione publish_post) non fa questo e perciò tutti gli agganci a publish_post con priorità più bassa non funzionano.
4.1 Uso dei Filtri
I Filtri non effettuano nessun cambiamento nel database. Piuttosto vanno pensati come un livello intermedio tra il database e il browser. Tutto ciò che viene passato dal database al browser, deve passare prima attraverso un filtro. Tramite l'aggiunta di filtri è possibile cambiare il modo di visualizzazione dei contenuti senza modificare direttamente ciò che si trova memorizzato nel database.
Possiamo creare una funzione PHP che modifica il testo, come questa:
function filter_profanity($content) {
global $profanities;
foreach($profanities as $profanity) {
$content=str_ireplace($profanity,'{censored}',$content);
- }
return $content; }
(non è necessario scriversi tutte le funzioni, si possono infatti usare tutte le funzioni standard di PHP che modificano il testo, come ad esempio strtoupper)
NOTA: Se scrivi una nuova funzione (ed è possibile che ad un certo punto tu lo voglia), tieni presente che un altro plugin potrebbe già fare uso della tua nuova funzione se per combinazione hai usato il nome di una funzione già usata nell'altro plugin. Per maggiori informazioni vedi Evitare Funzioni Duplicate.
Al di fuori della nostra funzione, (nello spazio di esecuzione generale), possiamo aggiungere il nostro nuovo filtro ad un aggancio:
add_filter('nome_aggancio', 'nome_filtro', [priorità]);
dove,
nome_aggancioè un aggancio per filtri fornito da WordPress;nome_filtroè il nome della funzione che si vuole applicare al contenuto specificato dafilter_hook. Può trattarsi di un a funzione standard di PHP, una funzione presente nel codice di WordPress, oppure una funzione definita da noi stessi in un plugin;prioritàè un numero intero, un argomento opzionale che può essere usato per specificare l'ordine secondo il quale devono essere eseguiti i vari filtri associati ad un particolare aggancio-filtro. Se l'argomento non viene specificato, al filtro viene assegnata la priorità predefinita10. Un filtro con priorità1viene eseguito prima di un altro filtro che ha priorità2, così più piccolo è il numero intero, più alta è la priorità. I filtri con priorità uguale vengono eseguiti secondo l'ordine in cui sono stati aggiunti all'aggancio-filtro.
L'esempio sopra riportato può essere aggiunto in questo modo:
add_filter('comment_text','filter_profanity');
E' possibile rimuovere i filtri dagli agganci tramite la funzione di WordPress remove_filter(). Per maggiori informazioni si veda Rimuovere Azioni e Filtri.
4.2 Agganci Disponibili per i Filtri
Tieni presente che la maggior parte di questi sono marcatori di template.
- author_email
- TBD
- bloginfo
- TBD
- category_description
- viene applicato al campo "descrizione" delle categorie
- comment_author
- TBD
- comment_content_presave
- TBD
- comment_edit_pre
- viene applicato al contenuto del commento prima che venga visualizzato
- comment_email
- TBD
- comment_excerpt
- TBD
- comment_save_pre
- viene applicato al contenuto del commento quando il commento viene ri-salvato nel pannello di amministrazione
- comments_number
- TBD
- comment_text
- passa il testo del commento come stringa. Ad esempio, questo brevissimo estratto da un plugin trasforma tutto il testo dei commenti in grassetto, ma non cambia assolutamente il testo dei commenti contenuto nel database:
add_filter('comment_text', 'commenti_grassetto');
function commenti_grassetto($comment = '') {
return "$comment";
}
- comment_url
- passa l'URL di chi lascia un commento (se - naturalmente - viene indicato dall'autore del commento). L'esempio seguente aggiunge a ciascun URL, il redirect di Google, senza modificare gli URL memorizzati nel database:
add_filter('comment_url', 'google_redirect');
function google_redirect($url = '') {
if ('' != $url) {
return "http://www.google.com/url?sa=D&q=$url";
}
}
- content_edit_pre
- TBD
- content_save_pre
- viene applicato al contenuto dell'articolo quando il l'articolo viene salvato nel pannello di amministrazione o tramite XML-RPC
- default_content
- permette ad un plugin di modificare il valore predefinito del contenuto di un nuovo articolo
- default_excerpt
- permette ad un plugin di modificare il valore predefinito dell'estratto di un nuovo articolo
- default_title
- permette ad un plugin di modificare il valore predefinito del titolo di un nuovo articolo
- excerpt_edit_pre
- TBD
- excerpt_save_pre
- TBD
- format_to_edit
- permette ad un plugin di modificare i dati salvati di un articolo prima che venga visualizzato per la modifica nell'editor degli articoli
- format_to_post
- TBD
- get_comment_author_url
- usare questo al posto del filtro comment_url
- get_comment_author_link
- restituisce il codice HTML del link all'autore del commento con il nome dell'autore linkato
- link_rating
- permette ad un plugin di modificare il valore memorizzato relativo al punteggio di un link prima che venga usato
- list_cats
- viene richiamato due diverse volte:
- una volta per ciascun elemento presente nella lista delle categoria, quando nel tema vengono invocate le funzioni
wp_list_cats()olist_cats(). Il primo paramentro è il nome della categoria. Il secondo (opzionale per la 1.5.1) è l'oggetto della categoria. - alla fine della lista delle categorie. Il primo parametro è l'intero testo della lista. Non viene passato nessun secondo paramentro.
Se si vuole specificare il secondo parametro, è bene assicurarsi di inserire un valore predefinito. Ecco un esempio che stampa l'ID della categoria dopo il nome e alla fine della lista:
function foo_bar($content, $category = null) {
if ($category == null) {
return $content . '<li>(fine della lista)</li>';
}
else {
return $content . " (ID={$category->cat_ID})";
}
}
add_filter('list_cats', 'foo_bar', 10, 2);
- loginout
- permette ad un plugin di modificare il tag e il testo che creano il link alla pagina di logout di WordPress.
- phone_content
- TBD
- post_comment_text
- TBD
- posts_where
- permette di cambiare la clausola
WHEREdella query che restituisce l'array contenente gli articoli. - posts_where_paged
- permette di cambiare la clausola
WHEREdella query che restituisce l'array contenente gli articoli e viene eseguita dopo le clausole predefiniteWHEREche producono la paginazione degli articoli. - '''posts_join
- permette ad un plugin di modificare la clausola
JOINdella query che restituisce l'array contenente gli articoli. Di solito viene usata per aggiungere una tabella alJOIN, in combinazione conposts_where. - posts_join_paged
- permette ad un plugin di modificare la clausola
JOINdella query che restituisce l'array contenente gli articoli e viene eseguita dopo le clausole predefiniteJOINche producono la paginazione degli articoli. - post_link
- permette ad un plugin di modificare i link agli articoli che vengono auto-generati, p. es tramite i tag dei template.
- posts_orderby
- permette ad un plugin di modificare la clausola
ORDER BYdella query che restituisce l'array contenente gli articoli. - preprocess_comment
- prima di processare un commento, viene chiamato con il commento passato come array. Dovrebbe restituire un array, i cui indici sono comment, comment_post_ID, user_ID, user_ip, user_domain, user_agent, author, email, url, approved.
- pre_comment_approved
- prima che un commento venga memorizzato nel database, questo filtro permette di accedere alle impostazioni correnti riguardanti l'approvazione del commento. Per accedere ai dati riguardanti il commento si possono usare le variabili globali.
- pre_commment_author_name
- prima che un commento venga memorizzato nel database, questo filtro permette di effettuare operazioni sul nome dell'autore. Viene richiamato passando come parametro il nome dell'autore in forma di stringa e restituisce una stringa.
- pre_comment_author_email
- prima che un commento venga memorizzato nel database, questo filtro permette di effettuare operazioni sull'email dell'autore. Viene richiamato passando come parametro l'email dell'autore in forma di stringa e restituisce una stringa.
- pre_comment_author_url
- prima che un commento venga memorizzato nel database, questo filtro permette di effettuare operazioni sull'URL inserito dall'autore. Viene richiamato passando come parametro l'URL dell'autore in forma di stringa e restituisce una stringa.
- pre_comment_content
- prima che un commento venga memorizzato nel database, questo filtro permette di effettuare operazioni sul testo del commento inserito. Viene richiamato passando come parametro il testo del commento in forma di stringa e restituisce una stringa.
- query_string
- TBD
- register
- permette ad un plugin di modificare i tag e il testo prodotti dal link alla registrazione in WordPress.
- rewrite_rules
- l'uso di questo filtro è deprecato nella versione 1.5, si veda
mod_rewrite_rules. - rewrite_rules_array
- TBD
- sanitize_title
- TBD
- single_post_title
- TBD
- stylesheet
- TBD
- template
- TBD
- the_category
- TBD
- the_category_rss
- TBD
- the_content
- viene applicato al contenuto dell'articolo prima che venga elaborato. Passa il contenuto degli articoli come stringa. Il seguente codice sostituisce tutte le occorrenze della parola foo con la parola bar, senza modificare il contenuto degli articoli memorizzati nel database:
add_filter('the_content', 'foo_bar');
function foo_bar ($content = '') {
return preg_replace("/foo/", "bar", $content);
}
- the_date
- TBD
- the_excerpt
- TBD
- the_excerpt_rss
- TBD
- the_posts
- TBD
- the_time
- TBD
- the_title
- TBD
- the_title_rss
- TBD
- the_weekday
- TBD
- the_weekday_date
- TBD
- title_edit_pre
- TBD
Filtri per il Template
E' possibile applicare dei filtri anche ai Template mediante i seguenti agganci per filtri. Si veda anche l'aggancio template_redirect riportato più su in Gli Agganci Disponibili per le Azioni.
- 404_template
- archive_template
- author_template
- category_template
- date_template
- home_template
- page_template
- paged_template
- (da eliminare, vedi le note al bug 825)
- search_template
- single_template
- comments_popup_template
5. Rimuovere Azioni e Filtri
Non sei l'unico da usare la API, questa è infatti la stessa tecnica che usano gli sviluppatori per ottenere tutta una serie di effetti. Se per caso hai bisogno di rimuovere alcune azioni o filtri per far funzionare il tuo plugin, puoi farlo mediante l'uso di remove_filter('aggancio','filtro') o di remove_action('aggancio','azione').
Ad esempio: remove_action('publish_post','generic_ping'); impedisce al tuo weblog di inviare dei ping ogni volta che viene creato un nuovo articolo.
Se un aggancio da eliminare è stato registrato con una priorità diversa da quella predefinita (10), allora quando invochi remove_action() devi specificare anche la priorità.
In generale, è consigliabile non rimuovere niente, a meno che tu non sappia esattamente ciò che stai facendo. Per facilitare il controllo dei filtri e delle azioni, ecco quindi una lista dei file dove vengono resi disponibili gli agganci.
6. Filtri e Azioni Applicati di Default
6.1 WordPress 1.5
I filtri e le azioni predefinite sono specificate nel file wp-includes/default-filters.php. Per favore controlla il file in questione nell'ultima versione disponibile di WordPress'.
6.2 WordPress 1.2
Relativi agli Articoli
wp-rdf.php:add_filter('the_content', 'trim');
- template-functions-post.php:add_filter('the_content', 'convert_smilies');
template-functions-post.php:add_filter('the_content', 'convert_chars');
template-functions-post.php:add_filter('the_content', 'wpautop');
vars.php:add_filter('the_content', 'wptexturize');
functions.php:add_action('publish_post', 'generic_ping');
template-functions-post.php:add_filter('the_excerpt', 'convert_smilies');
template-functions-post.php:add_filter('the_excerpt', 'convert_chars');
template-functions-post.php:add_filter('the_excerpt', 'wpautop');
vars.php:add_filter('the_excerpt', 'wptexturize');
Relativi ai Titoli
template-functions-post.php:add_filter('the_title', 'convert_chars');
template-functions-post.php:add_filter('the_title', 'trim');
vars.php:add_filter('the_title', 'wptexturize');
vars.php:add_filter('single_post_title', 'wptexturize');
template-functions-post.php:add_filter('the_title_rss', 'strip_tags');
functions-formatting.php:add_action('sanitize_title', 'sanitize_title_with_dashes');
Relativi ai Commenti
template-functions-comment.php:add_filter('comment_excerpt', 'convert_chars');
kses.php:add_filter('comment_author', 'wp_filter_kses');
template-functions-comment.php:add_filter('comment_author', 'wptexturize');
template-functions-comment.php:add_filter('comment_author', 'convert_chars');
vars.php:add_filter('comment_author', 'wptexturize');
template-functions-comment.php:add_filter('comment_email', 'antispambot');
template-functions-comment.php:add_filter('comment_url', 'clean_url');
wp-comments-popup.php:add_filter('comment_text', 'popuplinks');
template-functions-comment.php:add_filter('comment_text', 'convert_chars');
kses.php:add_filter('comment_text', 'wp_filter_kses');
template-functions-comment.php:add_filter('comment_text', 'make_clickable');
template-functions-comment.php:add_filter('comment_text', 'wpautop', 30);
template-functions-comment.php:add_filter('comment_text', 'balanceTags');
template-functions-comment.php:add_filter('comment_text', 'convert_smilies', 20);
vars.php:add_filter('comment_text', 'wptexturize');
Relativi alle Categorie
vars.php:add_filter('category_description', 'wptexturize');
vars.php:add_filter('list_cats', 'wptexturize');
Misti
vars.php:add_action('wp_head', 'doGeoUrlHeader');