Languages: English • Bahasa Indonesia • Italiano • (Add your language)
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
QTags.addButton( id, display, arg1, arg2, access_key, title, priority, instance );
// 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 />' );
*/
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.)
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`.