Cambiar de HTML a Visual Editor y de regreso completamente tira de la página Contenido de la página

wordpress.stackexchange https://wordpress.stackexchange.com/questions/14363

  •  16-10-2019
  •  | 
  •  

Pregunta

Tengo una página (no una publicación de blog) necesito incrustar un iframe (es para "integrar" el catálogo de productos de un servicio externo). Agregué el código de iframe en el editor HTML sin procesar y guardé la página. Vi la página, todo funcionó.

Regresé al editor y cambié de HTML sin procesar a la pestaña Visual Editor, agregué una línea de texto y luego recordé que necesitaba agregar un atributo al código de iframe. Así que volví a la pestaña HTML RAW.

Cuando hice esto, la publicación está completamente vacía. Todo lo que ingresé en el editor en HTML crudo o no fue despojado y la publicación está en blanco, como si lo hubiera creado nuevo. Tuve que volver a una revisión para recuperarlo.

Hasta ahora, la solución ha sido deshabilitar el editor visual, pero tengo un socio no técnico y esa no es una solución ideal a largo plazo.

¿Hay alguna forma de controlar este comportamiento de WordPress? Estoy usando WordPress 3.1.1

Gracias

¿Fue útil?

Solución

He tenido este código en un complemento local personalizado por un tiempo. O simplemente podrías pegarlo en tu tema functions.php:

// Allow iframe in TinyMCE
function tinymce_add_iframe( $arr = array() ) {
  $extra = 'iframe[id|class|title|style|align|frameborder|height|longdesc|marginheight|marginwidth|name|scrolling|src|width]';

  if ( isset( $arr['extended_valid_elements'] ) ) {
    // append to existing value
    $arr['extended_valid_elements'] .= ',' . $extra;
  } else {
    // set the value
    $arr['extended_valid_elements'] = $extra;
  }

  return $arr;
}

add_filter('tiny_mce_before_init','tinymce_add_iframe');

Esto le dice a TinyMce (el editor visual) que permita el iframe etiqueta y todos sus atributos.

Otros consejos

El editor de WordPress tiene un manejo deficiente de iframes o HTML avanzado al cambiar entre HTML y editor visual (he experimentado este problema muchas veces).

Su mejor opción es agregar una plantilla de página (página- {id} .php) con el iframe, o usar un complemento que agrega códigos cortos de iframe como los siguientes:

http://wordpress.org/extend/plugins/easy-iframe-loader/

Esto sería especialmente útil en un entorno con personas no técnicas que editan las publicaciones.

Licenciado bajo: CC-BY-SA con atribución
scroll top