最も必要とされている時に、信頼できるWordPressチュートリアルを。
WordPress入門ガイド
WPBカップ
2500万人以上
当社のプラグインを使用しているウェブサイト
16+
WordPress経験年数
3000+
専門家によるWordPressチュートリアル

WordPressで先週の投稿を表示する方法

初心者レベルの読者の多くはすぐにWordPressテーマのカスタマイズを開始するため、開始を支援するWordPressテーマチートシートを用意しています。これは新規ユーザーにとって興味深い課題をもたらします。最近、そのような読者の一人が、先週の投稿をWordPressに表示する方法を尋ねてきました。彼らはホームページに先週の投稿を表示するセクションを追加したいだけでした。この記事では、WordPressで先週の投稿を表示する方法を説明します。

先週の投稿を表示する方法を示す前に、まずWP_Queryを使用して現在の週の投稿を表示する方法を見てみましょう。次のコードをテーマのfunctions.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;
}

上記のコード例では、まず現在の週と年を調べました。次に、それらの値を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;

}

上記のサンプルコードでは、2つのチェックを配置しました。最初のチェックは、現在の週の値が1の場合に、前週の値を52(年の最後の週)に設定します。2番目のチェックは、前週の値が52の場合に、年の値を前年に設定します。

先週の投稿を表示するには、表示したいテーマのテンプレートファイルに<?php wpb_last_week_posts(); ?>を追加するだけです。または、ページやウィジェットに追加できるショートコードが必要な場合は、上記のコードの下にこの行を追加してください。

add_shortcode('lastweek', 'wpb_last_week_posts');

このショートコードを投稿、ページ、またはウィジェットで次のように使用できるようになりました。

[先週]

カスタムクエリを作成するために常にWP_Queryを使用する必要があるわけではないことに注意してください。WordPressには、最近の投稿アーカイブコメントなどを表示するのに役立ついくつかの関数が用意されています。既存の関数を使用する簡単な方法がある場合は、独自のクエリを作成する必要はありません。

この記事がWordPressで先週の投稿を表示するのに役立ったことを願っています。コードを試して、ニーズに合わせて変更してください。コメントを残すか、Twitterで私たちに参加して、質問があればお知らせください。

開示: 当社のコンテンツは読者によってサポートされています。これは、一部のリンクをクリックすると、手数料が発生する可能性があることを意味します。WPBeginnerがどのように資金調達されているか、なぜそれが重要なのか、そしてどのように私たちをサポートできるかを確認してください。こちらが当社の編集プロセスです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

8 CommentsLeave a Reply

  1. 週の投稿をいつ/なぜ表示したいのか興味がありますか?私のホームページでは、抜粋を表示しているので、過去2週間程度の投稿が表示されます。ここで何を見逃していますか?ありがとう!

    • 必要ありません。しかし、他のウェブサイトの所有者の中には、前週の投稿を個別に表示したいレイアウトを持っている場合があります。このチュートリアルは、そのようなユーザーを支援することを目的としています。

      管理者

Leave A Reply

コメントいただきありがとうございます。すべてのコメントは、コメントポリシーに従ってモデレーションされ、メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で意味のある会話をしましょう。