我们很多初级读者很快就开始修改他们的WordPress主题,这就是为什么我们有一个WordPress主题备忘单来帮助他们开始。 这给新用户带来了一些有趣的挑战。 最近一位这样的读者问我们如何在WordPress上显示上周的帖子。 他们只是想在上周显示帖子的主页上添加一个栏目。 在本文中,我们将向您展示如何在WordPress中显示上周的帖子。
在向您展示如何显示上周的帖子之前,我们先来看看如何使用WP_Query显示当周的帖子。 将以下代码复制并粘贴到主题的functions.php文件或特定于站点的插件中。
函数wpb_this_week(){ $ week = date('W'); $ year = date('Y'); $ the_query = new WP_Query('year ='。$ year。'&w ='。$ week); if($ the_query-> have_posts()): while($ the_query-> have_posts()):$ the_query-> the_post(); ?>“title =”永久链接 “>
在上面的示例代码中,我们首先找出当前的周和年。 然后,我们在WP_Query中使用这些值显示当前周的帖子。 现在你需要做的就是添加
在您想要显示帖子的主题文件中。
这很简单,不是吗? 现在要显示上周的帖子,所有你需要做的是从周的价值减去1。 但是,如果这是一年中的第一周,那么本周和本年度将会得到0,而不是去年。 这是你如何解决这个问题。
函数wpb_last_week_posts(){ $ thisweek = date('W'); 如果($ thisweek!= 1): $ lastweek = $ thisweek - 1; 其他: $ lastweek = 52; 万一; $ year = date('Y'); 如果($ lastweek!= 52): $ year = date('Y'); 其他: $ year = date('Y')-1; 万一; $ the_query = new WP_Query('year ='。$ year。'&w ='。$ lastweek); if($ the_query-> have_posts()): while($ the_query-> have_posts()):$ the_query-> the_post(); ?>“title =”永久链接 “>
在上面的示例代码中,我们已经放置了两个检查。 第一次检查将当周值设置为1时,将上周的值设置为52(这是一年中的最后一周)。第二次检查将上一年的值设置为52的上一年的值。
要显示上周的帖子,你需要做的就是添加
到你想要显示它们的主题的模板文件。 或者,如果您希望使用简码,以便将其添加到页面或小部件中,则只需在上面给出的代码下面添加此行即可。
add_shortcode('lastweek','wpb_last_week_posts');您现在可以在这样的帖子,页面或小部件中使用这个简码:
[上个星期]
请注意,您并不总是需要WP_Query来创建自定义查询。 WordPress提供了一些功能,以帮助您显示最近的帖子,档案,评论等。如果有更简单的方法来使用现有的功能,那么你并不需要写自己的查询。
我们希望这篇文章帮助你在WordPress上显示上周的帖子。 试验代码并修改它以满足您的需求。 让我们知道如果您有任何问题,请在下面留言或加入我们的Twitter。