Retrasar la publicación del feed en WordPress

Mas de una vez me pasó de publicar un post sin haberlo terminado, o de que luego de publicado se me ocurriera agregarle alguna imagen por ejemplo, lo mas probable es que el feed de nuestro blog, ya se haya publicado y por lo tanto nuestros lectores verán en su lector de noticias RSS, como Google Reader, una versión de nuestra entrada que no es la que existe en el blog.

Para solucionar este problema en WordPress, lo ideal es retrasar la publicación del feed, y esto es algo muy sencillo de hacer agregando un poco de código a nuestro archivo functions.php

[php]
/**
* retrasar la publicacion del feed
* $where ist default-var in WordPress (wp-includes/query.php)
* This function an a SQL-syntax
*/
function publish_later_on_feed($where) {
global $wpdb;

if ( is_feed() ) {
// timestamp in WP-format
$now = gmdate(‘Y-m-d H:i:s’);

// Se puede cambiar por cualquier numero entero
$wait = ’5′;
$device = ‘MINUTE’; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, ‘$now’) > $wait ";
}
return $where;
}

add_filter(‘posts_where’, ‘publish_later_on_feed’);
[/php]

En el caso de que nuestro theme no cuente con el archivo functions.php, es tan simple como crear uno, la única parte que debemos cambiar a gusto es:

[php]
$wait = ’5′;
$device = ‘MINUTE’; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
[/php]

Aquí podemos elegir la demora que nos parezca ideal, cambiando el 5 por la cantidad deseada y las unidades en la línea de abajo.

  • http://live.martin.com.uy martin

    Modificando código, así te quiero! ;)

    Es un buen truco… a mí también me pasa: publicar algo y meterle una edicioncita apenas lo veo jaja Igual trato de definirlo en la preview..

    Saludos

  • http://spamloco.net SpamLoco

    Aparte está bueno para cuando te copian automáticamente, retrasando el feed le da más tiempo a Google de indexar antes que el duplicado.

  • Pingback: Bitacoras.com