我們的許多初級(jí)讀者很快就開(kāi)始修改他們的wordpress 主題,這就是為什么我們有一個(gè)WordPress 主題備忘單來(lái)幫助他們?nèi)腴T(mén)。這給新用戶(hù)帶來(lái)了一些有趣的挑戰(zhàn)。一位這樣的讀者最近問(wèn)我們?nèi)绾卧?WordPress 中顯示上周的帖子。他們只是想在主頁(yè)上添加一個(gè)部分,顯示上周的帖子。在本文中,我們將向您展示如何在 WordPress 中顯示上周的帖子。
在向您展示如何顯示上周的帖子之前,我們首先看一下如何使用 WP_Query 顯示本周的帖子。將以下代碼復(fù)制并粘貼到主題的functions.php文件或特定于站點(diǎn)的插件中。
functionwpb_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;}
由
在 WordPress 中一鍵使用
在上面的示例代碼中,我們首先找出當(dāng)前的星期和年份。然后,我們?cè)?WP_Query 中使用這些值來(lái)顯示本周的帖子。現(xiàn)在您需要做的就是在主題文件中添加要顯示帖子的位置。
這很簡(jiǎn)單,不是嗎?現(xiàn)在要顯示上周的帖子,您只需將本周的值減 1 即可。但如果這是一年中的第一周,那么該周和當(dāng)年的值將為 0,而不是去年的值。以下是解決該問(wèn)題的方法。
functionwpb_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;}
由
在 WordPress 中一鍵使用
在上面的示例代碼中,我們放置了兩項(xiàng)檢查。當(dāng)當(dāng)前周的值為 1 時(shí),第一個(gè)檢查將上周的值設(shè)置為 52(一年中的最后一周)。當(dāng)上周的值為 52 時(shí),第二個(gè)檢查將年份的值設(shè)置為去年。
要顯示上周的帖子,您所需要做的就是添加到您想要顯示它們的主題模板文件中。或者,如果您想要一個(gè)短代碼,以便可以將其添加到頁(yè)面或小部件中,則只需將此行添加到上面給出的代碼下方即可。
add_shortcode('lastweek', 'wpb_last_week_posts');
由
在 WordPress 中一鍵使用
您現(xiàn)在可以在帖子、頁(yè)面或小部件中使用此短代碼,如下所示:
[lastweek]
請(qǐng)注意,您并不總是需要 WP_Query 來(lái)創(chuàng)建自定義查詢(xún)。WordPress 附帶了一些功能來(lái)幫助您顯示最近的帖子、檔案、評(píng)論等。如果有更簡(jiǎn)單的方法來(lái)使用現(xiàn)有功能,那么您實(shí)際上不需要編寫(xiě)自己的查詢(xún)。