Parsear RSS en WordPress

Después de muuucho tiempo sin visitar el blog, estoy con el ánimo y las ganas de retomar todos mis pendientes y volver a escribir en mi querido Isotipo, aunque sea con entradas muy sencillas pero útiles como ésta.

WordPress trae integrado dentro de sus archivos la librería MagspieRSS, parseador de RSS en PHP que nos permite trabajar con ella invocándola desde cualquier función:

if (!function_exists('MagpieRSS')) {
	include_once (ABSPATH . WPINC . '/rss-functions.php');
	error_reporting(E_ERROR);
}
$rss = @ fetch_rss($_GET["url_rss"]);

La condición evita volver a llamar a la librería, en caso de que este siendo ocupada. Luego podemos contruir una función para descomponer el array, obteniendo una cantidad determinada de items:

function get_rss($url, $cantidad){
	if (!function_exists('MagpieRSS')) {
		include_once (ABSPATH . WPINC . '/rss-functions.php');
		error_reporting(E_ERROR);
	}
	$rss = @ fetch_rss($url);
	if ($rss) {
		$items = array_slice($rss->items, 0, $cantidad);
		$out .= '<ul>';
		foreach($items as $item){
			$date = date("d.m.y",strtotime($item['pubdate']));
			$out .= '<li><span class="date">'.$date.'</span><br /><a href="'.$item['link'].'" title="'.$item['title'].'" rel="External Follow">'.$item['title'].'</a></li>';
		}
		$out .= '</ul>';
	}
	return $out;
}

Por supuesto, siempre puedes conocer la información de la variable $rss a traves de un simple print_r($rss), y así elegir entre los items los valores que necesites mostrar.

One thought on “Parsear RSS en WordPress”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>