現在の投稿の前の投稿情報を取得します。
get_previous_post($in_same_term,$excluded_terms,$taxonomy);| 引数 | 必須/任意 | 引数に指定するもの |
|---|---|---|
| 第1引数 $in_same_term | 任意 | 同じタームに所属するものに限定するかどうか。限定する場合はtrue、しない場合はfalse初期値: false |
| 第2引数 $excluded_terms | 任意 | 除外するタームのID (整数)あるいはその配列初期値: '' |
| 第3引数 $taxonomy | 任意 | タクソノミーのスラッグを指定(文字列)第1引数がtrueの場合はデフォルトで 'category'初期値: 'category' |
戻り値(返す値):現在の投稿の前の投稿情報(オブジェクト)
次の投稿情報を取得するにはget_next_post()を使います。
前の投稿情報を$next_postに格納し、print_rを使って中身を見てみます。
<?php
$previous_post = get_previous_post(true); // 同じタームに限定(第3引数は省略しているので'category')
echo '<pre>';
print_r($previous_post);
echo '</pre>';
?>結果(例)は以下のようになります。
WP_Post Object
(
[ID] => 845
[post_author] => 1
[post_date] => 2026-01-13 09:10:49
[post_date_gmt] => 2026-01-13 00:10:49
[post_content] => 本文です
[post_title] => タイトルです
[post_excerpt] =>
[post_status] => publish
[comment_status] => open
[ping_status] => open
[post_password] =>
[post_name] => title
[to_ping] =>
[pinged] =>
[post_modified] => 2026-01-15 08:24:04
[post_modified_gmt] => 2026-01-14 23:24:04
[post_content_filtered] =>
[post_parent] => 0
[guid] => https://example.com/?p=845
[menu_order] => 0
[post_type] => post
[post_mime_type] =>
[comment_count] => 0
[filter] => raw
)取得した前の投稿情報から、前の投稿のタイトルとIDを取得して、テキストリンクを作るには以下のようにします。
※4行目のget_permalink()は記事のIDからリンクを取得するテンプレートタグです。
<?php
$previous_post = get_previous_post(true);
$previous_post_title = $previous_post->post_title;
$previous_post_permalink = get_permalink($previous_post->ID);
echo '<a href="' . $previous_post_permalink . '">' . $previous_post_title . '</a>';
?>下記の例では、取得する記事を同じタームに限定しますが、そのタームをタクソノミーcartypeのタームに限定しています。つまり、タクソノミーcartypeの中にあるsedanというタームに紐づいている記事の中から前の投稿に該当するものを取得します。
<?php $previous_post = get_previous_post(true, '', 'cartype'); ?>【引数とは】
テンプレートタグ(=関数)を実行する際に、引数を渡すことができるテンプレートタグがあります。引数は、関数の中で使われるので、渡す引数の値によって実行結果が変わってきます。何を処理したいのか、どのようなデータを取得したいのかによって渡す引数が変わります。
【引数について】
※当サイトでは初期値とデフォルト値の言葉の定義を区別せず、原則統一して初期値を採用しています。