WordPress sitesinde bugünden itibaren örneğin 180 gün içerisinde eklenmiş girdileri göstermek için aşağıdaki fonksiyonu kullanabiliriz;
function filter_where($where = '') {
$where .= " AND post_date > '" . date('Y-m-d', strtotime('-180 days')) . "'"; //180 gün öncesine kadar gösterecek.
return $where;
}
add_filter('posts_where', 'filter_where'); //fonksiyonu aşağıdaki sorguya ekle.
Bu fonksiyonu sorgunun içinde kullanmalıyız ve şayet aynı sayfada başka döngüler varsa <?php wp_reset_query(); ?> ile döngüyü sonlandırmalıyız.
Örnek bir kullanım;
<?php
function filter_where($where = '') {
$where .= " AND post_date > '" . date('Y-m-d', strtotime('-180 days')) . "'"; //180 gün öncesine kadar gösterecek.
return $where;
}
add_filter('posts_where', 'filter_where'); //fonksiyonu aşağıdaki sorguya ekle.query_posts(array('orderby' => 'comment_count', 'showposts' => '15', 'order'=> 'DSC')); //yorum sayısına göre sıralayacak 15 tane gösterecek.
?><?php if (have_posts()) : ?>
<ul>
<?php while (have_posts()) : the_post();?>
<li>
<a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>" rel="bookmark"><?php the_title_attribute(); ?>
</li><?php endwhile; endif; wp_reset_query(); //sorguyu resetleyip bitiriyoruz ?>
</ul>
Daha fazla bilgi ve ayrıntı için: http://codex.wordpress.org/Function_Reference/query_posts, afiyet olsun.