Que no es lo mismo que hacer un loop con los post de la última semana, del último mes o del último año. Para conseguir un loop con las entradas de los últimos días, meses o años tenemos que crear una función que añada un filtro temporal a la query. Por ejemplo, para obtener los post de los últimos doce meses:
function filter_where( $where = '' ) { $where .= " AND post_date > '" . date('Y-m-d', strtotime('-365 days')) . "'"; return $where; }
A continuación filtramos la query. La variable $query_string
contiene la query sin modificar, el loop correspondiente a la página que se esté cargando.
add_filter( 'posts_where', 'filter_where' ); $query = new WP_Query( $query_string ); while ($query->have_posts()) : $query->the_post(); include "loop.php"; endwhile; remove_filter( 'posts_where', 'filter_where' );
Si se quiere aplicar el filtro a una query específica, basta sustituir $query_string
por parámetros de WP_query
.