Parcheando WPeMatico para soportar estilos

septiembre 12, 2012  |  blog, Software

El plugin WPeMatico es un plugin de wordpress que habilita el creado de post automáticos desde un rss o feed. Uno de los inconvenientes que presenta al leer el rss es que filtra los atributos de las etiquetas html dejando el código html del post totalmente limpio. En caso de ser ese origen RSS de una fuente “segura” o conocida tal vez no quieras que se eliminen del todo las clases de las etiquetas, por ejemplo, para aplicar clases a las imágenes, captions, etc.

Lo hemos resuelto con un pequeño parche en el archivo de funciones haciendo usa de la configuración de SimplePie , la librería de parseo RSS que también incluye WordPress.

En el archivo functions.php del plugin, donde se crea el objeto y conexión a $feed, añadimos:

// alsur hack para que no elimine clases o estilos al importar
$feed->strip_attributes(array(‘bgsound’, ‘expr’, ‘id’,’onclick’, ‘onerror’, ‘onfinish’, ‘onmouseover’, ‘onmouseout’, ‘onfocus’, ‘onblur’, ‘lowsrc’, ‘dynsrc’));

Hemos eliminado de esta lista (por defecto de la libreria) los valores ‘class’ y ‘styles’ pero se podría ajustar con las que interes.

En caso de no querer hacerlo para todos los orígenes, dado que conocemos la URL del origen se puede condicionar con algo del tipo:

if(preg_match ( “/(.+)(dominio1|dominio2)(.+)/”, $url )){
         $feed->strip_attributes(array(‘bgsound’, ‘expr’, ‘id’,’onclick’, ‘onerror’, ‘onfinish’, ‘onmouseover’, ‘onmouseout’, ‘onfocus’, ‘onblur’, ‘lowsrc’, ‘dynsrc’));
}

Plugin original en //wordpress.org/extend/plugins/wpematico/