Cómo deshabilitar TinyMCE para eliminar las etiquetas span

10

Estoy publicando HTML generado por Word en WordPress a través de XMLRPC. Antes de ir a post.php, el formato se conserva correctamente en la base de datos. TinyMCE realiza su magia y pierdo algunos detalles de formato.
El problema principal que estoy viendo es que la <span>etiqueta con información de estilo que rodea a otros elementos se elimina. Verifiqué que estas etiquetas son eliminadas por TinyMCE y no por Kses. ¿Hay alguna manera de evitar que TinyMCE altere el HTML? Yo he tratado

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;
}

lo cual no ayudó. De acuerdo con la documentación de TinyMCE , "verificar_html"

Esta opción habilita o deshabilita la funcionalidad de limpieza del elemento. Si establece esta opción en falso, se omitirá toda la limpieza de elementos, pero aún se ejecutarán otras funciones de limpieza, como la conversión de URL.

ltfishie
fuente

Respuestas:

6

No pude encontrar la extended_valid_elementsopción en el panel de configuración para TinyMCE advanced, pero agregué lo siguiente a mi functions.phpsolución:

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');

Fuente

Sim
fuente
4

Casi siempre uso el complemento TinyMCE Advanced : hay una página de administración (Configuración-> Configuración de TinyMCE) que le permite agregar etiquetas compatibles con la extended_valid_elementsopción. ¡Simplemente agregue spany cualquier otra etiqueta que no desee eliminar y disfrute!

SickHippie
fuente
Gracias, TinyMCE Advanced hace exactamente lo mismo que mi código anterior para agregar extend_valid_elements. Pero lo haré con el complemento. Tal vez hay un error en algún lugar de mi código.
ltfishie
Instálelo y pruébelo: si funciona, entonces el problema es su código. Si no es así, algo más lo anula a nivel de plugin o tema.
SickHippie
2
No pude encontrar un lugar en la última versión de TinyMCE Advanced para agregar elementos
Nicola Peluchetti
Eso no es sorprendente, ya que esta publicación tiene 3 años y medio.
SickHippie