Cómo retrasar la publicación en RSS de una entrada de WordPress

En determinadas circunstancias puede ser interesante retrasar la publicación de una entrada de WordPress en el feed RSS. O sea, que una vez publicada la entrada en la web, no se publique hasta pasado X tiempo en el feed RSS.

¿Cómo lo podemos conseguir? Hasta ahora habíamos usado siempre el plugin RSS Manager, pero esta semana buscábamos algo más ligero, con menos funcionalidades y que no tuviese opciones de configuración para que nadie lo pudiese tocar fácilmente.

Buscando información sobre el tema encontramos la publicación de Natzir Turrado de 14 de febrero de 2012 «Retrasar la publicación del RSS en WordPress« que sigue estando vigente hoy en día y con un código que sigue funcionando. Solo hay que añadir al functions.php del tema las siguientes líneas de código:

function retrasar_feed($where) {
global $wpdb;
if ( is_feed() ) {
$now = gmdate('Y-m-d H:i:s');
$wait = '10';
$device = 'MINUTE';
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}
add_filter('posts_where', 'retrasar_feed');

Este código lo que hace es retrasar la publicación del feed en 10 minutos frente a la publicación en la página. Si queremos cambiar el intervalo de tiempo hasta la publicación en el feed, solamente hay que cambiar la varibale $device y sustituir ‘MINUTE' por cualquiera de los valores aceptables para la misma:

  • FRAC_SECOND (microseconds) -> Fracciones de segundos (microsegundos)
  • SECOND -> Segundos
  • MINUTE -> Minutos
  • HOUR -> Horas
  • DAY -> Días
  • WEEK -> Semanas
  • MONTH -> Meses
  • QUARTER -> Trimestres
  • YEAR -> Años

Y luego ajustar el número de la variable $wait que es el número de unidades de la medida anterior que esperará. En el ejemplo son $wait = '10' y $device = 'MINUTE', por lo que esperará 10 minutos, si ponemos $wait = '1' y $device = 'HOUR' esperará 1 hora. Y así se puede hacer cualquier combinación que se os ocurra.

Espero que esto también le ayude a alguien más.

Créditos imágenes: Shutterstock – Ryan Jorgensen – Jorgo

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Los comentarios de esta página se procesan por un sistema automático de moderación por lo cual no siempre se publican de forma instantánea. Por favor respeta a los demás y ciñete al tema del post. Nos reservamos el derecho de eliminar cualquier comentario o enlace que nos parezca inadecuado o tenga una expresión de grosería, insulto, odio, hostilidad o negatividad.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.