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
.