初心者レベルの読者の多くは、すぐにWordPressテーマを修正し始めます。そのため、私たちはWordPressテーマのチートシートを用意しています。これは新規ユーザーにとって興味深い課題をもたらします。そのような読者の一人は、最近、WordPressで先週の投稿を表示する方法を尋ねられました。彼らは、トップページに過去の投稿を表示するセクションを追加したかっただけなのです。この投稿では、WordPressで先週の投稿を表示する方法を紹介します。
過去の投稿を表示する方法を紹介する前に、まずWP_Queryを使って現在の週の投稿を表示する方法を見てみましょう。以下のコードをテーマのfunctions.phpファイルまたはサイト固有のプラグインにコピー&ペーストしてください。
[cbk1]
上記のコード例では、まず現在の週と年を調べています。そして、これらの値をWP_Queryで使用して、現在の週からの投稿を表示しています。あとは、テーマファイルの投稿を表示したい場所に<?php wpb_this_week(); ?>
を追加するだけです。
簡単だったでしょう?さて、先週の投稿を表示するために必要なことは、すべて週の値から1を引くことです。しかし、もしこれが今年最初の週であれば、その週と現在の年の値が昨年ではなく0になってしまいます。この問題を解決する方法は以下の通りです。
[cbk2]
上のサンプルコードでは、2つのチェックを入れています。1つ目のチェックは、現在の週の値が1のとき、最後の週の値を52(1年の最後の週)に設定します。2つ目のチェックは、最後の週の値が52のとき、yearの値を去年に設定します。
先週の投稿を表示するために必要なことはすべて、表示したいテーマのテンプレートファイルに<?php wpb_last_week_posts(); ?>
を追加するだけです。また、ページやウィジェットにショートコードを追加したい場合は、上記のコードの下に次の行を追加するだけです。
[cbk3]
投稿、ページ、ウィジェットでこのショートコードを使うことができます:
[SKX1]
カスタム・クエリーを作成するためにWP_Queryが常に必要なわけではないことに注意してください。WordPressには、最近の投稿、アーカイブ、コメントなどを表示するのに役立つ関数がいくつか用意されています。もし既存の関数を使うより簡単な方法があれば、独自のクエリーを書く必要はありません。
この投稿がWordPressで先週の投稿を表示するのに役立てば幸いです。コードを試して、あなたのニーズに合うように変更してください。ご質問があれば、下にコメントを残すか、Twitterでお知らせください。
Syed Balkhi says
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Ali Hesari says
This is very useful for me. Thank you.
hitesh says
this is very useful for us. keep it
Kenny says
This would be great if a YouTube video was made available
Allison says
I am curious about when/why I would want to display the week’s posts? On my home page, I display excerpts, so the posts from my past 2 weeks or so are visible. What am I missing here? Thanks!
WPBeginner Support says
You don’t need to. But some other website owners may have a layout where they might want to display previous week’s posts separately. This tutorial is aimed to help those users.
管理者
faisal adil says
Awesome
Chris McCoy says
you could also take advantage of the new date query http://www.viper007bond.com/2013/08/27/date-queries-in-wordpress-3-point-7/
WPBeginner Support says
Yes date_query can also be used to achieve the same goal.
管理者