2009-09-07 7 views
0

Je voudrais montrer seulement les messages des X derniers jours sur mon frontpage wordpress. Disons, une semaine, donc 7 jours.Wordpress: boucle seulement inclure les messages X jour vieux

Quelle est la manière de dire à Wordpress de ne sélectionner que les messages des X derniers jours de la boucle?

Actuellement, je l'ai un travail par un hack, mais cela gâche la pagination. Aller à la page suivante ne sélectionne pas les bons messages.

//Hack found on the bottom of http://codex.wordpress.org/Template_Tags/query_posts 
function filter_where($where = '') { 
    //posts in the last 7 days 
    $where .= " AND post_date > '" . date('Y-m-d', strtotime('-7 days')) . "'"; 
} 
add_filter('posts_where', 'filter_where'); 
query_posts($query_string); 
if (have_posts()) : while (have_posts()) : the_post(); 
... and the usual 

Répondre

1

Vous pouvez succès partiel avec les éléments suivants:

function filter_where($where = '') { 
    $date_split = date('Y-m-d', strtotime('-7 days')); 
    if (is_paged()) { 
    $where .= " AND post_date < '" . $date_split . "'"; 
    } else { 
    $where .= " AND post_date > '" . $date_split . "'"; 
    } 
    return $where; 
} 
add_filter('posts_where', 'filter_where'); 
query_posts($query_string); 

Ma page d'accueil affiche les messages dans les 7 derniers jours, la page/1 commence à montrer des messages après cette date et la page/2 fonctionne comme une continuation de la page/1 comme prévu.

Questions connexes