首页 » 博文 » wpbeginner » 最佳教程 » 如何在 WordPress 中显示上周的帖子

如何在 WordPress 中显示上周的帖子

我们的许多初级读者很快就开始修改他们的WordPress 主题,这就是为什么我们有一个WordPress 主题备忘单来帮助他们入门。这给新用户带来了一些有趣的挑战。一位这样的读者最近问我们如何在 WordPress 中显示上周的帖子。他们只是想在主页上添加一个部分,显示上周的帖子。在本文中,我们将向您展示如何在 WordPress 中显示上周的帖子。

在向您展示如何显示上周的帖子之前,我们首先看一下如何使用 WP_Query 显示本周的帖子。将以下代码复制并粘贴到主题的functions.php文件或特定于站点的插件中。

1234567891011121314functionwpb_this_week() { $week= date('W');$year= date('Y');$the_query= newWP_Query( 'year='. $year. '&w='. $week);if( $the_query->have_posts() ) : while( $the_query->have_posts() ) : $the_query->the_post(); ?>    <h2><a href="<?php the_permalink(); ?>"title="Permanent link to <?php the_title(); ?> "><?php the_title(); ?></a></h2>    <?php the_excerpt(); ?>  <?php endwhile; ?>  <?php wp_reset_postdata(); ?><?php else:  ?>  <p><?php _e( 'Sorry, no posts matched your criteria.'); ?></p><?php endif;}

WPCode与 ❤️ 主办

在 WordPress 中一键使用

在上面的示例代码中,我们首先找出当前的星期和年份。然后,我们在 WP_Query 中使用这些值来显示本周的帖子。现在您需要做的就是<?php wpb_this_week(); ?>在主题文件中添加要显示帖子的位置。

这很简单,不是吗?现在要显示上周的帖子,您只需将本周的值减 1 即可。但如果这是一年中的第一周,那么该周和当年的值将为 0,而不是去年的值。以下是解决该问题的方法。

1234567891011121314151617 号1819202122232425functionwpb_last_week_posts() { $thisweek= date('W');if($thisweek!= 1) :$lastweek= $thisweek- 1;   else: $lastweek= 52;endif; $year= date('Y');if($lastweek!= 52) :$year= date('Y');else: $year= date('Y') -1; endif;$the_query= newWP_Query( 'year='. $year. '&w='. $lastweek);if( $the_query->have_posts() ) : while( $the_query->have_posts() ) : $the_query->the_post(); ?>    <h2><a href="<?php the_permalink(); ?>"title="Permanent link to <?php the_title(); ?> "><?php the_title(); ?></a></h2>    <?php the_excerpt(); ?>  <?php endwhile; ?>  <?php wp_reset_postdata(); ?><?php else:  ?>  <p><?php _e( 'Sorry, no posts matched your criteria.'); ?></p><?php endif;}

WPCode与 ❤️ 主办

在 WordPress 中一键使用

在上面的示例代码中,我们放置了两项检查。当当前周的值为 1 时,第一个检查将上周的值设置为 52(一年中的最后一周)。当上周的值为 52 时,第二个检查将年份的值设置为去年。

要显示上周的帖子,您所需要做的就是添加<?php wpb_last_week_posts(); ?>到您想要显示它们的主题模板文件中。或者,如果您想要一个短代码,以便可以将其添加到页面或小部件中,则只需将此行添加到上面给出的代码下方即可。

1add_shortcode('lastweek', 'wpb_last_week_posts');

WPCode与 ❤️ 主办

在 WordPress 中一键使用

您现在可以在帖子、页面或小部件中使用此短代码,如下所示:

[lastweek]

请注意,您并不总是需要 WP_Query 来创建自定义查询。WordPress 附带了一些功能来帮助您显示最近的帖子档案评论等。如果有更简单的方法来使用现有功能,那么您实际上不需要编写自己的查询。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

Scroll to Top