Cómo evitar que TinyMCE elimine las etiquetas span

18 may 2012, 17:47:34
Vistas: 37.9K
Votos: 12

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

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ó. Según la documentación de TinyMCE, "verify_html"

Esta opción habilita o deshabilita la funcionalidad de limpieza de elementos. Si configuras esta opción como falsa, se omitirá toda la limpieza de elementos, pero otras funcionalidades de limpieza como la conversión de URL seguirán ejecutándose.

0
Todas las respuestas a la pregunta 3
1

No pude encontrar la opción extended_valid_elements en el panel de configuración de TinyMCE avanzado, pero agregar lo siguiente a mi functions.php lo resolvió:

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

30 sept 2014 10:10:16
Comentarios

Nota: no funcionó para mí en WP 6.6.2. Todavía sigue estropeando mi HTML muy mal, moviendo etiquetas, eliminando etiquetas, reemplazando entidades, todo tipo de cosas.

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

Casi siempre uso el plugin TinyMCE Advanced - hay una página de administración (Ajustes->Configuración TinyMCE) que te permite añadir etiquetas soportadas usando la opción extended_valid_elements. Simplemente añade span y cualquier otra etiqueta que no quieras que sea eliminada y ¡disfruta!

23 may 2012 02:19:46
Comentarios

Gracias, TinyMCE Advanced hace exactamente lo mismo que mi código anterior para agregar extended_valid_elements. Pero lo haré con el plugin. Tal vez hay un error en alguna parte de mi código.

ltfishie ltfishie
23 may 2012 08:16:24

Instálalo y pruébalo - si funciona, entonces el problema está en tu código. Si no, algo más lo está sobrescribiendo a nivel de plugin o tema.

SickHippie SickHippie
23 may 2012 19:14:28

No pude encontrar un lugar en la última versión de TinyMCE Advanced para agregar elementos

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

Eso no es sorprendente, ya que esta publicación tiene 3 años y medio de antigüedad.

SickHippie SickHippie
25 oct 2015 02:29:08
0

Si utilizas el plugin TinyMCE Advanced, existe un complemento llamado TinyMCE Advanced Configuration, con el cual puedes cambiar los ajustes de configuración, como la opción extended_valid_elements.

25 mar 2020 15:15:32