La gente de SmashingMagazine ha hecho una recopilación de trucos para tener el máximo control sobre los RSS de tu WordPress. De todos los mostrados creo que estos son los más interesantes.
1) Publica tus RSS más tarde
Imagina, que escribes un post y que nada más publicarlo te das cuenta de que hay un problema en él, lo editas y cuando te das cuenta el RSS ya ha sido generado y tu contenido mediante RSS está erroneo y apareciendo en todos los lectores RSS de Internet.
¿Solución?
Haz que se publiquen más tarde, osea retrasa la generación del RSS unos minutos. No lo vas a notar y tendrás tiempo para pulir el post.
function pulish_later_on_feed($where) {
global $wpdb;
if ( is_feed() ) {
// timestamp in WP-format
$now = gmdate('Y-m-d H:i:s');
// value for wait; + device
$wait = '5'; // integer
// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
$device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
// add SQL-sytax to default $where
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}
add_filter('posts_where', 'pulish_later_on_feed');
En el ejemplo lo retrasa 5 MINUTE
, pero podemos hacer que espere lo que nosotros queramos 😀
2) Excluye una categoría de tus RSS
Supongamos que tenemos una categoría X que deseamos evitar que sea mostrada por RSS, ya sea por que es personal o privada para los visitantes.
¿Solución?
Sencilla, nos bastará con conocer el ID de la categoría que deseamos ocultar y aplicar el siguiente código.
function myFilter($query) {
if ($query->is_feed) {
$query->set('cat','-5'); //Don't forget to change the category ID =^o^=
}
return $query;
}
add_filter('pre_get_posts','myFilter');
3) Muestra cualquier RSS externo en tu Blog
¿Quieres mostrar en el sidebar el rss de uno de tus otros blogs? Con wp_rss()
es muy sencillo.
¿Solución?
Usado wp_rss()
esto se convierte en algo realmente sencillo, en tan solo 2 líneas tenemos nuestro RSS cargado.
<?php include_once(ABSPATH.WPINC.'/rss.php');
wp_rss('http://URL_DEL_FEED', NUM_ITEMS); ?>
Únicamente tendremos que indicar la Url del Feed que deseemos mostrar y el número de items que queramos ir mostrando.
4) Deshabilitar el feed tu WordPress
Imagina que no estás interesado en que la gente vea tu Feed o su contenido es privado y no está abierto al público.
¿Solución?
En ese caso, lo mejor es deshabilitar el RSS.
function fb_disable_feed() {
wp_die( __('No feed available,please visit our <a href="'. get_bloginfo('url') .'">homepage</a>!') );
}
add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);
Más en SmashingMagazine.
11 comentarios, 2 referencias
+
#