BBH
-Biz Branding Hub-
投稿日 : 
2019/08/25
更新日 : 
2019/08/25

WordPress記事詳細ページで次の記事、前の記事を取得する方法

WordPressでよく使う処理として、現在の次の記事、前の記事を取得するという処理があると思います。
例えば、以下のようなパーツですね。

ソースコード

single.php

<?php // 前後の記事を取得
	$prev_post = get_previous_post();
	$next_post = get_next_post();
?>
<div class="ArticleDetail_Paging_Div">
	<?php if( $prev_post ): // 前の投稿があれば表示 ?>
		<div class="ArticleDetail_Paging_Prev">
			<a class="ArticleDetail_Paging_Prev_a" href="<?php echo get_permalink( $prev_post->ID ); ?>"><< 前へ</a>
		</div>
	<?php endif; ?>
	<?php if( $next_post ): // 次の投稿があれば表示 ?>
		<div class="ArticleDetail_Paging_Next">
			<a class="ArticleDetail_Paging_Next_a" href="<?php echo get_permalink( $next_post->ID ); ?>">次へ >></a>
		</div>
	<?php endif; ?>
	<div class="ArticleDetail_Paging_Clear"></div>
</div>
<!-- [ArticleDetail_Paging - End] -->

WordPressでは、現在の記事を起点に前後のページを取得できる便利な関数がすでに存在しています。
それが、 get_previous_post()get_next_post() です。

当然記事によっては前後の記事が無い場合もありますので(最新記事や最過去記事など)、その場合は表示しないようにしましょう。
このサンプルではif文で判定をしています。

また、リンクにするときは、

php

get_permalink([記事]->ID)


で記事へのリンクを生成することができます。

Profile

管理人プロフィール

都内でITエンジニアをやってます。
変遷:中規模SES→独立系SIer→Webサービス内製開発
使用技術はその時々でバラバラですが、C#、AWSが長いです。
どちらかと言うとバックエンドより開発が多かったです。
顧客との折衝や要件定義、マネジメント(10名弱程度)の経験あり。
最近はJava+SpringBootがメイン。

Recommend