Codex

Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

it:API dei Quicktag

Descrizione

Le API dei Quicktag permettono di includere tasti aggiuntivi all'editor di testo.

Questa pagina fu proposta su Make WordPress Core. Un ticket Trac rilevante è 16695

Tasti dell'editor di testo di WordPress

Utilizzo

QTags.addButton( id, display, arg1, arg2, access_key, title, priority, instance );

Parametri

id
(string) (richiesto) Valore dell'attributo "id" del tasto.
Default: Nessuno
display
(string) (richiesto) Valore dell'attributo "value" del tasto.
Default: Nessuno
arg1
(string) (richiesto) Tag di apertura da inserire, come "<span>", o funzione di callback da eseguire quando si preme il tasto.
Default: Nessuno
arg2
(string) (opzionale) Tag di chiusura come "</span>". Lasciare vuoto se il tag non ha bisogno di essere chiuso (es. "<hr />").
Default: Nessuno
access_key
(string) (opzionale) Scorciatoia per il tasto (valore dell'attributo "accesskey").
Default: Nessuno
title
(string) (opzionale) Valore dell'attributo "title" del tasto.
Default: Nessuno
priority
(int) (opzionale) Numero che rappresenta la posizione desiderata del tasto nella barra degli strumenti. 1 - 9 = primo, 11 - 19 = secondo, 21 - 29 = terzo, ecc.
Default: Nessuno
instance
(string) (opzionale) Se presente limita il tasto ad essere incluso in una specifica istanza dei Quicktag, altrimenti lo aggiunge a tutte le istanze.
Default: Nessuno

Valori restituiti

(mixed) 
Nullo o l'oggetto tasto che serve per retrocompatibilità.

Esempi

// aggiungere più tasti all'editor HTML
function appthemes_add_quicktags() {
    if (wp_script_is('quicktags')){
?>
    <script type="text/javascript">
    QTags.addButton( 'eg_paragraph', 'p', '<p>', '</p>', 'p', 'Paragrafo', 1 );
    QTags.addButton( 'eg_hr', 'hr', '<hr />', '', 'h', 'Linea orizzontale', 201 );
    QTags.addButton( 'eg_pre', 'pre', '<pre lang="php">', '</pre>', 'q', 'Testo preformattato', 111 );
    </script>
<?php
    }
}
add_action( 'admin_print_footer_scripts', 'appthemes_add_quicktags' );

(Nota: per evitare un "errore di referenziazione", è bene controllare se lo script 'quicktags' è in uso.)

Il codice qui sopra aggiunge tasti HTML ai Quicktag predefiniti nell'editor di testo. Ad esempio, il tasto per il tag HTML "p" diventa:

<input type="button" id="qt_content_eg_paragraph" accesskey="p" class="ed_button" title="Paragrafo" value="p">

(Al valore ID di ogni tasto viene automaticamente anteposta la stringa 'qt_content_'.)

Di seguito vi è un estratto (tradotto in italiano) del codice sorgente presente in quicktags.js, che è piuttosto utile già di per se.

/**
 * Funzione API principale per aggiungere un tasto ai Quicktag
 *
 * Aggiunge qt.Button o qt.TagButton a seconda degli argomenti. I primi tre argomenti sono sempre richiesti.
 * Per poter aggiungere tasti ai Quicktag, lo script deve essere accodato in modo dipendente
 * da "quicktags" e stampato nel footer. Se si stampa JS direttamente da PHP,
 * usare add_action( 'admin_print_footer_scripts', 'output_my_js', 100 ) oppure add_action( 'wp_footer', 'output_my_js', 100 )
 *
 * Minimo richiesto per aggiungere un tasto che richiama una funzione esterna:
 *     QTags.addButton( 'my_id', 'my button', my_callback );
 *     function my_callback() { alert('yeah!'); }
 *
 * Minimo richiesto per aggiungere un tasto che inserisce un tag:
 *     QTags.addButton( 'my_id', 'my button', '<span>', '</span>' );
 *     QTags.addButton( 'my_id2', 'my button', '<br />' );
 */

Quicktag predefiniti

Di seguito vi sono i valori dei Quicktag predefiniti aggiunti da WordPress all'editor di testo (la tabella è ordinata per valore di access key). Gli access key e gli ID devono essere univoci. Quando si aggiungono i propri tasti, non si devono usare i seguenti valori:

Accesskey ID Valore Tag di apertura Tag di chiusura
a link link <a href="' + URL + '"> </a>
b strong b <strong> </strong>
c code code <code> </code>
d del del <del datetime="' + _datetime + '"> </del>
f fullscreen fullscreen
i em i <em> </em>
l li li \t<li> </li>\n
m img img <img src="' + src + '" alt="' + alt + '" />
o ol ol <ol>\n </ol>\n\n
q block b-quote \n\n<blockquote> </blockquote>\n\n
s ins ins <ins datetime="' + _datetime + '"> </ins>
t more more <!--more-->
u ul ul <ul>\n </ul>\n\n
spell lookup
close close

(Alcuni dei tag qui sopra utilizzano variabili, come URL e _datetime, passate dalle funzioni.)

Log delle modifiche

File sorgente

qt.addButton() la fonte si trova in js/_enqueues/lib/quicktags.js, durante la compilazione viene prodotta in `wp-incudes/js/quicktags.js` e `wp-includes/js/quicktags.min.js`.

Risorse