ワードプレスで前後の記事の公開日を取得して表示する方法【get_previous_post / get_next_post】
投稿日:
このページにはGoogleアドセンス広告とアフィリエイト広告が含まれています。
前後の記事の情報を取得するget_previous_postとget_next_post関数
ワードプレスには投稿の前後の記事を取得するための関数があらかじめ用意されています。
前の記事の情報は「get_previos_post()」、次の記事の情報は「get_next_post()」を使ってそれぞれ取得することができます。
この関数の使い方のおさらいとして、例えば次の記事のリンクを表示するには以下のように記述します。(前の記事の場合はnextの部分をpreviousに変えます)
PHP
<?php if($nextPost = get_next_post()): ?> <a href="<?php the_permalink($nextPost->ID); ?>">次の記事へ</a> <?php endif; ?>
2行目get_next_postからページのIDを取り出し、the_permalink()関数を使ってページのURLを取得します。
条件分岐を使うことで前後の記事が存在した場合のみ表示させることができます。
前後の記事の公開日を表示するには?
先ほどはget_next_postでIDを取得しましたが、これを「post_date」とすることで前後の記事の公開日を取得することができます。
PHP
<?php echo get_next_post()->post_date; ?>
プレビュー
公開日の年月日表示をフォーマットする
get_previos_postとget_next_postで取得できる公開日は上記のような「yyyy-mm-dd H:i:s」という形式です。
このままでも問題はありませんが、「yyyy年mm月dd日」という書き方にしたい場合は、phpのdate関数を使って別途フォーマットを行う必要があります。
PHP
<?php $nextPost = get_next_post(); $nextPostDate = date("y年m月d日",strtotime($nextPost->post_date)); echo $nextPostDate; ?>
プレビュー
2023年1月1日2行目date関数でフォーマットするために、取得した日時をstrtotime関数を使ってタイムスタンプに変換しています。
まとめ
以上が、ワードプレスで前後の記事の公開日を取得する方法です。
関数を使えば簡単に表示できることがおわかりいただけたかと思います。任意の形式にフォーマットする時は少し工夫が必要ということだけ覚えておきましょう。