// como habilitar el uso de iframes en el editor de WordPress

2

Si eres de los muchos que se han intentado colocar un vídeo de youtube en el editor de wordpress utilizando el nuevo código de “embed” basado en iframe y te has llevado la sorpresa de que desaparece al dar save, tenemos algo que puede ayudarte a resolver este dilema. La solución no es solo para youtube, funciona para poder colocar cualquier iframe en tus post o paginas de wordpress.

A partir de la versión 2.8 de wordpress se le elimino el poder colocar iframes en el editor wysiwyg(TinyMCE) de este popular manejador de contenido(CMS) que es el motor detrás de la gran mayoría de los Blogs al rededor del mundo. Al eliminar esta capacidad al tratar de colocar cualquier iframe en el HTML o Source view del editor el código es eliminado al dar save al post como medida de seguridad. Esto tiene su razón de ser y es el tratar de evitar que algún “Hacker” pueda inyectar algún código malicioso en tus paginas o artículos de wordpress, pero a la misma ves nos deja sin esta opción que de tantos apuros nos saca en ocasiones. Dicho esto les mostrare una solución al problema del iframe pero que recuerden que es importante que su instalación de wordpress este con las medidas de seguridad apropiadas para evitar que alguien pueda llegar a sus carpetas o archivos esenciales y hacer algún daño.

Cuando me tope con el problema del iframe me di a la tarea de buscar por la web a ver si alguien había tenido el mismo problema que yo y luego de varias horas encontré una pagina llamada wordpress.stackexchange.com donde habia un articulo que hablaba del tema. Aquí les dejo el enlace por si quieren visitar el articulo original.

En el articulo tenían una función en codigo PHP que debes añadir en tu archivo de functions.php de tu theme de wordpress, o si eres un poco mas habido en PHP puedes crear un plugin que te permita habilitar la funcionalidad de iframe utilizando este código. Esta ultima solución es recomendada ya que evitaría que se pierda el código en caso de updates al theme.

Bueno aquí les dejo el código en cuestión para su beneficio:

function fb_change_mce_options($initArray) {
    // Comma separated string od extendes tags
    // Command separated string of extended elements
    $ext = 'pre[id|name|class|style],iframe[align|longdesc|name|width|height|frameborder|scrolling|marginheight|marginwidth|src]';

    if ( isset( $initArray['extended_valid_elements'] ) ) {
        $initArray['extended_valid_elements'] .= ',' . $ext;
    } else {
        $initArray['extended_valid_elements'] = $ext;
    }
    // maybe; set tiny paramter verify_html
    //$initArray['verify_html'] = false;

    return $initArray;
}
add_filter('tiny_mce_before_init', 'fb_change_mce_options');

Espero que este código les sea de utilidad, pero si no quieren pasar trabajo escribiendo editando archivos también existen plugins para esto como:

Embed Iframe

En mi caso particular trato de minimizar el uso de plugins ya que el mucho uso de plugins puede afectar el rendimiento de tu instalación de wordpress pero es una solución bastante rápida al problema.

Espero les sirva tanto como y como siempre gracias por visitar dgtallikä.

2 Responses