Nota del autor

Si la entrada que estás leyendo carece de imágenes, no se ve el vídeo que teóricamente lleva incrustado o el código fuente mostrado aparece sin formato, podéis conocer los motivos aquí. Poco a poco iré restableciendo la normalidad en el blog.
Este blog es un archivo de los artículos situados previamente en Lobosoft.es y ha dejado de ser actualizado. Las nuevas entradas pueden encontrarse en www.lobosoft.es. Un saludo,
Lobosoft.

martes, 18 de mayo de 2010

Inserción de vídeos en WordPress MU

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?

4 comentarios:

  1. Información Bitacoras.com...

    Valora en Bitacoras.com: 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 post......

    ResponderEliminar
  2. Al final he usado este plugin que hace automáticamente lo que tu explicas, http://insertarvideosyoutube.buddypress-es.org/

    Pero si conoces el error ... me cuentas, porfa ; )

    Gracias
    fervisko

    ResponderEliminar
  3. FerVisko, el paréntesis que falta acabo de incluirlo; o se me pasó al traerlo de mi fichero kses.php, o maquetando los "tabuladores" para el plugin resaltador de sintaxis lo eliminé. Gracias por el aviso. ;)

    Lo del [php] no es necesario incluirlo. Se trata de una etiqueta que indica a ese plugin que mencionaba que debe resaltar las palabras reservadas y otros tokens del lenguaje PHP. Lo que ocurre es que actualmente lo tengo desactivado. Si visitas las últimas entradas del blog verás que en los últimos días estuve sufriendo un ataque y que algunos de los plugins (incluido este) fueron infectados con un script, de ahí que ahora mismo los tenga desactivados.

    Lo del error, como te decía, debe de ser únicamente el paréntesis. Yo lo probé con la última versión disponible de WordPress MU (2.9.2.) y funcionaba bien. El plugin que mencionas parece hacer algo muy similar, inyectando en la variable las etiquetas necesarias para incluir los vídeos, así que tomo buena nota del mismo, jeje.

    Saludos.

    ResponderEliminar
  4. Esta muy buena la pagina y sobre todo el contenido de los articulos espero la puedas mantener por muchos años a venir. La pondre en favorito para poder acceder mas facil.

    Exitos

    ResponderEliminar