我们的许多初级读者很快就开始修改他们的WordPress主题,这就是为什么我们有一个WordPress主题小抄来帮助他们入门。这给新用户带来了一些有趣的挑战。一位这样的读者最近问我们,如何在WordPress中显示上周的帖子。他们只是想在他们的主页上增加一个显示前一周帖子的部分。在本文中,我们将向您展示如何在WordPress中显示上周的帖子。
在向您展示如何显示前一周的帖子之前,让我们先来看看如何使用WP_QUERY来显示本周的帖子。将以下代码复制并粘贴到主题的unctions.php文件或站点特定的插件中。
function 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(); ?> <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,而不是去年。以下是解决这个问题的方法。
function wpb_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 = new WP_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(); ?>
到您想要在其中显示它们的主题的模板文件。或者,如果您想要一个短代码,以便可以将其添加到页面或小部件中,则只需在上面给出的代码下面添加以下行。
add_shortcode('lastweek', 'wpb_last_week_posts');
由❤️托管WPCode
在WordPress中一键使用
现在,您可以在帖子、页面或小部件中使用此快捷代码,如下所示:
[lastweek]
请注意,您并不总是需要WP_QUERY来创建自定义查询。WordPress附带了几个函数来帮助你显示最近的帖子、档案、评论等。如果有更简单的方法来使用现有的函数,那么你真的不需要编写自己的查询。
我们希望这篇文章能帮助你在WordPress上展示上周的帖子。尝试使用代码并修改它以满足您的需要。如果您有任何问题,请在下面留言或加入我们的行列。
RSS