Come disabilitare la rimozione dei tag span in TinyMCE

18 mag 2012, 17:47:34
Visualizzazioni: 37.9K
Voti: 12

Sto pubblicando HTML generato da Word su WordPress tramite XMLRPC. Prima di arrivare a post.php, la formattazione viene correttamente preservata nel database. TinyMCE esegue la sua magia e perdo diversi dettagli di formattazione.
Il problema principale che sto riscontrando è che i tag <span> con informazioni di stile che circondano altri elementi vengono rimossi. Ho verificato che questi tag vengono effettivamente rimossi da TinyMCE e non da Kses. C'è un modo per impedire a TinyMCE di alterare l'HTML? Ho provato

add_filter('tiny_mce_before_init', 'tinymce_init');

function tinymce_init( $init ) {
    $init['extended_valid_elements'] .= ', span[style|id|nam|class|lang]';
    $init['verify_html'] = false;
    return $init;
}

che non ha aiutato. Secondo la documentazione di TinyMCE, "verify_html"

Questa opzione abilita o disabilita la funzionalità di pulizia degli elementi. Se imposti questa opzione su false, tutta la pulizia degli elementi verrà saltata ma altre funzionalità di pulizia come la conversione degli URL verranno comunque eseguite.

0
Tutte le risposte alla domanda 3
1

Non sono riuscito a trovare l'opzione extended_valid_elements nel pannello delle impostazioni di TinyMCE advanced, ma aggiungere il seguente codice al mio functions.php ha risolto il problema:

function override_mce_options($initArray) {
    $opts = '*[*]';
    $initArray['valid_elements'] = $opts;
    $initArray['extended_valid_elements'] = $opts;
    return $initArray;
} add_filter('tiny_mce_before_init', 'override_mce_options');

Fonte

30 set 2014 10:10:16
Commenti

Nota: non ha funzionato per me con WP 6.6.2. Continua a stravolgere il mio HTML in modo molto grave, spostando tag, eliminando tag, sostituendo entità, e ogni tipo di problema.

John Smith John Smith
2 nov 2024 01:32:49
4

Quasi sempre utilizzo il plugin TinyMCE Advanced - c'è una pagina di amministrazione (Impostazioni->Configurazione TinyMCE) che ti permette di aggiungere tag supportati usando l'opzione extended_valid_elements. Basta aggiungere span e qualsiasi altro tag che non vuoi venga rimosso e il gioco è fatto!

23 mag 2012 02:19:46
Commenti

Grazie, TinyMCE Advanced fa esattamente la stessa cosa del mio codice qui sopra per aggiungere extended_valid_elements. Ma lo farò con il plugin. Forse c'è un bug da qualche parte nel mio codice.

ltfishie ltfishie
23 mag 2012 08:16:24

Installalo e provalo - se funziona, allora il problema è nel tuo codice. Se non funziona, qualcos'altro lo sta sovrascrivendo a livello di plugin o tema.

SickHippie SickHippie
23 mag 2012 19:14:28

Non sono riuscito a trovare un posto nell'ultima versione di TinyMCE Advanced per aggiungere elementi

Nicola Peluchetti Nicola Peluchetti
24 ott 2015 16:33:06

Non è sorprendente, visto che questo articolo ha 3 anni e mezzo.

SickHippie SickHippie
25 ott 2015 02:29:08
0

Se utilizzi il plugin TinyMCE Advanced, esiste un plugin complementare chiamato TinyMCE Advanced Configuration, con il quale puoi modificare le impostazioni di configurazione, come l'opzione extended_valid_elements.

25 mar 2020 15:15:32