Come disabilitare TinyMCE dalla rimozione dei tag span


10

Sto postando HTML generato da Word su WordPress tramite XMLRPC. Prima di andare su post.php, il formato è correttamente conservato nel database. TinyMCE esegue la sua magia e perdo parecchi dettagli di formattazione.
Il problema principale che sto vedendo è che il <span>tag con le informazioni di stile che circondano altri elementi sono eliminate. Ho verificato che questi tag sono stati effettivamente rimossi da TinyMCE e non da Kses. C'è un modo per impedire a TinyMCE di modificare 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 , "confirm_html"

Questa opzione abilita o disabilita la funzionalità di pulizia dell'elemento. Se si imposta questa opzione su false, tutta la pulizia dell'elemento verrà ignorata ma verranno comunque eseguite altre funzionalità di pulizia come la conversione dell'URL.

Risposte:


6

Non sono riuscito a trovare l' extended_valid_elementsopzione nel pannello delle impostazioni di TinyMCE avanzato, ma aggiungendo quanto segue al mio functions.phprisolto:

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


4

Uso quasi sempre il plug-in TinyMCE Advanced : esiste una pagina di amministrazione (Impostazioni-> Config TinyMCE) che consente di aggiungere tag supportati utilizzando l' extended_valid_elementsopzione. Basta aggiungere spane qualsiasi altro tag che non si desidera rimuovere e divertiti!


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

Installalo e provalo - se funziona, allora il problema è il tuo codice. In caso contrario, qualcos'altro lo sta sovrascrivendo a livello di plugin o tema.
SickHippie

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

Non è sorprendente, poiché questo post ha 3 anni e mezzo.
SickHippie,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.