He instalado un nuevo plugin que me permite listar una serie de Blogs y, a través de su feed, las últimas entradas publicadas en ellos. Este plugin supera con creces el antiguo apartado de BlogRoll tÃpico de cada blog, en que se listaban algunas páginas web (mayoritariamente blogs) de conocidos, amigos, interés o pertenecientes a una red de blogs.
Con el plugin el sistema RSS cobra mucho más sentido, la información mostrada está siempre actualizada y le resulta mucho más útil al usuario ya que, no sólo puede conocer un nuevo blog que pueda ser de su interés, sino que además puede ver cuáles han sido los últimos artÃculos publicados (sus tÃtulos).
De momento dejo el antiguo apartado de BlogRoll activo porque, entre otras cosas, los Blogs de la red libreticas no funcionan, desconozco que problema puede haber con su servidor ya que el plugin es capaz de leer blogs de todo tipo tanto en MySpace, como WordPress o Blogger.
Podéis descargar el plugin de la web de Wordpress, pero su versión original es un pelÃn distinta a la mÃa, si queréis el código de mi versión lo tenéis aquÃ:
$google_ajax_feed_apikey="ABQIAAAAuJkdlr7xwX_YfjjLpLLh0hRwoxWCe8BkNXMASddQUXFnzy9pGhT8bwjcLGYo1bGOzPKEpj8Cqfesig";
$top_friends_feeds = array (
'http://feeds.feedburner.com/elqudsi',
'http://elventanalderosa.spaces.live.com/feed.rss',
'http://feeds.feedburner.com/docs4beto',
'http://www.jcdelolmo.es/feed/',
'http://rojomariposa.wordpress.com/feed/',
'http://igorsanro.blogspot.com/feeds/posts/default',
'http://www.pilarjerico.com/blog/?feed=rss2',
'http://www.jesusencinar.com/index.rdf',
'http://www.marcvidal.cat/marcvidal/atom.xml',
'http://www.netoraton.es/?feed=rss2',
'http://www.luissolana.com/?feed=rss2',
'http://www.enriquemeneses.com/feed/',
'http://www.romenauer.com/?feed=rss2',
'http://www.eleconomista.es/blogs/frikieconomia/?feed=rss2',
'http://rss.elmundo.es/rss/descarga.htm?data2=13',
'http://blogs.ft.com/techblog/feed/',
'http://feeds.feedburner.com/elblogdesiner',
'http://feeds.feedburner.com/blogotaku',
'http://feeds.feedburner.com/blogoempresa',
'http://feeds.feedburner.com/deporteaccion'
);
function fetch_google_ajax_feed($feed) {
if (function_exists('curl_init')) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $feed);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, "http://www.entrecodigos.com/");
$result = curl_exec($ch);
curl_close($ch);
return $result;
} else {
if ($result = file_get_contents($feed)) {
return $result;
}
}
}
function top_friends(){
$top_friends = get_option("top_friends");
if($top_friends){
$time = time();
if(($time - $top_friends["time"])<3000){
echo $top_friends["top_friends"];
return;
}
}
global $google_ajax_feed_apikey, $top_friends_feeds;
$top_friends_string .= '<ul>';
foreach($top_friends_feeds as $top_friends_feed){
$google_ajax_feed_url = 'http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q='.urlencode($top_friends_feed);
if($google_ajax_feed_apikey) $google_ajax_feed_url .= '&key='.$google_ajax_feed_apikey;
$result = fetch_google_ajax_feed($google_ajax_feed_url);
$result = json_decode($result);
$feed = $result -> responseData-> feed;
$entries = $feed -> entries;
if($entries){
$top_friends_string .= '<li style="margin-top:8px;" >'. "\n";
$top_friends_string .= '<a href="'.$feed -> link.'" class="title" title="'.$feed -> description.'" target="_blank" >'.$feed -> title.' '. "\n";
$last_update_time = strtotime($entries[0] -> publishedDate);
$time_now = time();
$cc = $time_now - $last_update_time;
$days = floor($cc/(3600*24));
$hours = floor(($cc%(3600*24))/3600);
$mins = floor($cc%3600/60);
$i = 0;
foreach($entries as $entry){
if($i>2) continue;
$entry_title = $entry -> title;
$top_friends_string .= '<a href="'.$entry -> link.'" title="'.$entry_title.'" target="_blank" >';
if ( strlen($entry_title)>34 ) $top_friends_string .= substr($entry_title, 0, 34).'...'; else $top_friends_string .= $entry_title;
$top_friends_string .='</a>';
$cc = $time_now - strtotime($entry -> publishedDate);
$days = floor($cc/(3600*24));
if ($days<1){$top_friends_string .= ' <span style="color:#FF0000;">New!</span>';}
elseif ($days<2){$top_friends_string .= ' <span style="color:#EE9900;">2 días</span>';}
$top_friends_string .= '<br />'. "\n";
$i++;
}
$top_friends_string .= '</li>'. "\n";
}
}
$top_friends_string .= '</ul>';
$top_friends = array("time"=>time(),"top_friends"=>$top_friends_string);
update_option('top_friends', $top_friends);
echo $top_friends_string;
}
?>
Cualquier sugerencia o mejora de ese código será bienvenida (y seguro que su autor os lo agradece). He hecho copy&Paste cambiando los < por < ; y poco más, espero que se haya copiado bien.
Por otro lado, el plugin de Feeds no es el único cambio que he hecho en el Blog en estos dÃas, también he instalado por fin el plugin para las fotos de Flickr (a pie de página), los artÃculos mas comentados y hasta me ha dado por empezar a utilizar las etiquetas (aunque la nube quiero modificarla para que solo muestre las que se utilicen mÃnimo 3 veces).
Además, he cambiado el CSS para permitir que los enlaces en las entradas sean azules, siguiendo los estándares de usabilidad y permitiendo una mejor navegación por el blog. Por último, he colocado un enlace con la opción de comentar al final de cada bloque de artÃculo, lo que seguro mejora la cantidad de comentarios en el Blog al ser una opción más visible.


