Hace unos días estuve haciendo unas pruebas para migrar Lobosoft a un sistema WordPress MU (la versión multiblog de WordPress que, además, fue con la que comencé la andadura de Lobosoft en un principio para pasar con posterioridad a la que utilizo ahora). Finalmente no me será necesario usarla, pero durante el proceso de configuración de la misma tuve que recordar viejos conocimientos además de ampliar la configuración de WordPress MU para permitir la inclusión del código HTML necesario para que la importación de las entradas que incluyen algún vídeo finalizase con éxito. De no hacerlo así, WordPress limpiaba literalmente el HTML de la entrada eliminando cualquier posibilidad de incluir vídeos de servicios como YouTube o Google Vídeo, por ejemplo.
WordPress lleva a cabo un análisis del HTML que incluimos en una determinada entrada a través de la variable $allowedposttags, un array incluido en el archivo kses.php dentro de del directorio wp-includes de nuestra instalación de WordPress (o WordPress MU, como es el caso del ejemplo). Dicho array contiene, como su nombre indica, las etiquetas HTML permitidas dentro de las entradas del blog. El formato de dicho array (que, a su vez, contiene a otros) es “nombre de etiqueta” => valor, siendo el valor un array sin contenido cuando la etiqueta es un atributo HTML y un array con valores cuando se trata de una etiqueta HTML con atributos. En resumen, se forma una colección de estructuras arbóreas que representan la estructura de un tag HTML. A buen seguro con un ejemplo queda todo más claro. Veamos cómo es definida en $allowedposttags la etiqueta del enlace (anchor):
[php]
'a' => array(
'class' => array (),
'href' => array (),
'id' => array (),
'title' => array (),
'rel' => array (),
'rev' => array (),
'name' => array (),
'target' => array()
)
[/php]
Resulta sencillo ver aquí la estructura de la etiqueta para un link, así como comprobar que no se permite el uso de mapas de imágenes en las entradas de WordPress (a menos que nosotros nos encarguemos de extender el array, por supuesto).
Así, para permitir la inclusión de vídeos en las entradas simplemente tenemos que ampliar el array principal definido para la variable $allowedposttags con el código siguiente:
[php]
'embed' => array (
'id' => array (),
'type' => array (),
'style' => array (),
'height' => array (),
'width' => array (),
'wmode' => array (),
'src' => array (),
'object' => array (
'height' => array (),
'width' => array ()
),
'param' => array (
'name' => array (),
'value' => array ()
),
)
[/php]
Sencillo, ¿verdad?