Cómo integrar los enlaces entrantes de Technorati en tu WordPress

En el panel de administrador de WordPress sale en la parte derecha la opción de ver los enlaces entrantes.

Enlaces entrantes del blog de WordPress

Desde la versión 2.3 de WordPress dejaron de usar Technorati para este fin, y ahora el WordPress usa Blog Search de Google.

El caso es que un día en el trabajo Fernan comentó que sería interesante poder contar con Technorati también, y le escuchó nuestro compañero también Raul y en un poco rato buscamos en el código y entre los tres hicimos un apaño para incluir Technorati en los enlaces entrantes de WordPress 2.3

El archivo a modificar en cuestión es index-extra.php que está en el directorio wp-admin de nuestro WordPress.

Lo que hace ahí es lo siguiente:

case ‘incominglinks’ :

$rss_feed = apply_filters( ‘dashboard_incoming_links_feed’, ‘http://blogsearch.google.com/blogsearch_feeds?hl=en&scoring=d&ie=utf-8&num=10&output=rss&partner=wordpress&q=link:’ . trailingslashit( get_option(‘home’) ) );
$more_link = apply_filters( ‘dashboard_incoming_links_link’, ‘http://blogsearch.google.com/blogsearch?hl=en&scoring=d&partner=wordpress&q=link:’ . trailingslashit( get_option(‘home’) ) );

$rss = @fetch_rss( $rss_feed );
if ( isset($rss->items) && 1 < count($rss->items) ) { // Technorati returns a 1-item feed when it has no results
?>
<h3><?php _e(‘Incoming Links’); ?> <cite><a href=”<?php echo htmlspecialchars( $more_link ); ?>”><?php _e(‘More »’); ?></a></cite></h3>
<ul>
<?php
$rss->items = array_slice($rss->items, 0, 10);
foreach ($rss->items as $item ) {
?>
<li><a href=”<?php echo wp_filter_kses($item[‘link’]); ?>”><?php echo wptexturize(wp_specialchars($item[‘title’])); ?></a></li>
<?php } ?>
</ul>
<?php
}
break;

He puesto en negrita la parte de toma de datos, que si la modificamos podremos coger datos de cualquier otra fuente, Technorati o lo que fuese.

Por lo que si miramos el código de otras versiones de WordPress anteriores con Technorati veremos que hace:

case ‘incominglinks’ :
$rss = @fetch_rss(‘http://feeds.technorati.com/cosmos/rss/?url=’. trailingslashit(get_option(‘home’)) .’&partner=wordpress’);
if ( isset($rss->items) && 1 < count($rss->items) ) { // Technorati returns a 1-item feed when it has no results
?>
<h3><?php _e(‘Incoming Links’); ?> <cite><a href=”http://www.technorati.com/search/<?php echo trailingslashit(get_option(‘home’)); ?>?partner=wordpress”><?php _e(‘More »’); ?></a></cite></h3>
<ul>
<?php
$rss->items = array_slice($rss->items, 0, 10);
foreach ($rss->items as $item ) {
?>
<li><a href=”<?php echo wp_filter_kses($item[‘link’]); ?>”><?php echo wptexturize(wp_specialchars($item[‘title’])); ?></a></li>
<?php } ?>
</ul>
<?php
}
break;

Tenemos la opción de mezclar ambas, mezclar los resultados de Blogsearch y Technorati, o sólo sacar los de Technorati:

case ‘incominglinks’ :

$rss_feed = apply_filters( ‘dashboard_incoming_links_feed’, ‘http://blogsearch.google.com/blogsearch_feeds?hl=en&scoring=d&ie=utf-8&num=10&output=rss&partner=wordpress&q=link:’ . trailingslashit( get_option(‘home’) ) );
$more_link = apply_filters( ‘dashboard_incoming_links_link’, ‘http://blogsearch.google.com/blogsearch?hl=en&scoring=d&partner=wordpress&q=link:’ . trailingslashit( get_option(‘home’) ) );

$rss = @fetch_rss(‘http://feeds.technorati.com/cosmos/rss/?url=’. trailingslashit(get_option(‘home’)) .’&partner=wordpress’);

Como véis, hacemos una sola llamada a Technorati y nos olvidamos de Blogsearch.

Para mezclar ambas:

$rss_feed = apply_filters( ‘dashboard_incoming_links_feed’, ‘http://blogsearch.google.com/blogsearch_feeds?hl=en&scoring=d&ie=utf-8&num=10&output=rss&partner=wordpress&q=link:’ . trailingslashit( get_option(‘home’) ) );
$more_link = apply_filters( ‘dashboard_incoming_links_link’, ‘http://blogsearch.google.com/blogsearch?hl=en&scoring=d&partner=wordpress&q=link:’ . trailingslashit( get_option(‘home’) ) );

$rss = @fetch_rss( $rss_feed );

if ( isset($rss->items) && 1 < count($rss->items) ) { // Technorati returns a 1-item feed when it has no results
?>
<h3><?php _e(‘Incoming Links’); ?> <cite><a href=”<?php echo htmlspecialchars( $more_link ); ?>”><?php _e(‘More »’); ?></a></cite></h3>
<ul>
<?php
$rss->items = array_slice($rss->items, 0, 10);
foreach ($rss->items as $item ) {
?>
<li><a href=”<?php echo wp_filter_kses($item[‘link’]); ?>”><?php echo wptexturize(wp_specialchars($item[‘title’])); ?></a></li>
<?php }

$rss = @fetch_rss(‘http://feeds.technorati.com/cosmos/rss/?url=’. trailingslashit(get_option(‘home’)) .’&partner=wordpress’);
$rss->items = array_slice($rss->items, 0, 10);
foreach ($rss->items as $item ) {
?>
<li><a href=”<?php echo wp_filter_kses($item[‘link’]); ?>”><?php echo wptexturize(wp_specialchars($item[‘title’])); ?></a></li>
<?php }

Un pensamiento en “Cómo integrar los enlaces entrantes de Technorati en tu WordPress

  1. Pingback: Berriart

Deja un comentario

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