En muchas ocasiones uno publica un post con WordPress e inmediatamente se da cuenta de que hay un error en el mismo. No pasa nada, corrijes el error y vuelves a publicar el post. El problema es que probablemente la versión errónea ya haya sido publicada en tus feeds. Con este ingenioso hack puedes retrasar la publicación de tus feeds en WordPress el tiempo que consideres oportuno. El hack se basa en modificar el contenido de la variable $where que WordPress utiliza al realizar la llamada a la base de datos.
/**
* puplish the content in the feed later
* $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');
// 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', 'publish_later_on_feed');
Poniendo el siguiente código en tu fichero functions.php, tu feed será publicado siempre 5 minutos después de que lo haya hecho el post. Tiempo suficiente para percatarnos de un error justo después de publicar. Por supuesto, se puede ajustar el tiempo que necesitas cambiando el valor de la variable $wait.




