月度归档:2020年11月

wordpress 查询多少天内发布的文章

该功能通过添加一个posts_where过滤器来完成:

<?php
function filter_where($where = '') {
    $where .= " AND post_date > '" . date('Y-m-d', strtotime('-60 days')) . "'";
    return $where;
}
add_filter('posts_where', 'filter_where');
query_posts($query_string);
?>

默认是60天内的文章,可更根据需要调整。

将代码添加到主循环的上面。

项目中的具体代码如下:

<?php
// 查询多少天内的文章
if (isset($_GET['arttime'])) {
    function filter_where($where = '') {
        $arttime = $_GET['arttime'];
        $where .= " AND post_date > '" . date('Y-m-d', strtotime('-' . $arttime . 'days')) . "'";
        return $where;
    }
    add_filter('posts_where', 'filter_where');
}

$paged = 1;
if (get_query_var('page')) {
    $paged = get_query_var('page');
}
$term = get_queried_object();
query_posts(array(
    'category_name'     => $term->slug, // 分类slug
    'posts_per_page'    => 10, // 每页几条
    'paged'             => $paged,  // 当前是第几页
));
while (have_posts()) :
    the_post();
?>
    <a href="<?php the_permalink() ?>" class="news-item">
        <div class="left-newlist-left">
            <span> <?php single_cat_title() ?> <i></i><?php echo get_the_date('Y-m-d'); ?></span>
            <h1><?php the_title() ?></h1>

        </div>
        <div class="right-newlist-img">
            <img src="<?php echo catch_that_image(); ?>" alt="">
        </div>
    </a>
<?php endwhile; ?>