每周只显示一个帖子

时间:2015-04-06 作者:Mehedi Hasan

我有一个名为\'NEWS\' 在那里,我一次已经发表了52篇文章。现在,我想在前面展示它们ONE NEWS 对于ONE WEEK. 所以52条新闻将覆盖我一年的时间。

我的问题是,如何运行查询&;计划在一周内显示1条新闻。对于某周的某些新闻,没有强制性问题。每周只需显示为上升/下降方式。

如果有人能帮忙解决这个问题,我真的很感激。

提前谢谢。

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

有很多方法可以实现这一点,并对其进行优化以使其更高效。

下面是通过使用offset 中的参数WP_Query 以及使用php函数date() 获取当前周数。

首先,您应该使用date( \'W\' ). 你可以决定以此为出发点15 本周。你也可以从本周减去15减1,从1开始计算。从1月1日起,您需要以不同的方式重新计算,以获得正确的偏移量。你可以去玩这个来满足你的需要

接下来,计算offset. 偏移量将为当前周减去1,以确保您的第一个偏移量为0 要获得第一个职位51 获得第52篇帖子(最后一篇帖子)

以下是本周开始的一个示例查询15; (这只是基本内容,请记住使用wp_reset_postdata()

$args = array(
    \'post_type\' => \'news\',
    \'posts_per_page\' => 1,
    \'no_found_rows\' => true, 
    \'offset\' => (date( \'W\' ) - 1)
);
$q = new WP_Query( $args );
var_dump( $q->posts );
这应该会给你一个帖子类型news 随着新一周的开始,每周将更改一次

结束

相关推荐

Converting Posts to Pages

所以我的网站后端有问题,我的托管公司已经为我解决了。在这样做的过程中,他们无意中制作了我所有的页面和帖子。我正在查看承载此功能的数据库post_type 柱我的问题是,如果我更改值post 到page, 这篇文章会再次成为一页吗?如果没有,我如何转换它们?