En el panel de administrador de WordPress sale en la parte derecha la opción de ver los enlaces entrantes.
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 }
Pingback: Berriart