WEB制作のための情報サイト / unazuki Library

get_previous_post()

基本構文と使い方(引数・実行結果)

基本構文

現在の投稿の前の投稿情報を取得します。

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()を使います。

例1.前の投稿情報を取得して必要な情報を表示する

前の投稿情報を$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>';
?>

例2.条件を指定して前の投稿情報を取得する

下記の例では、取得する記事を同じタームに限定しますが、そのタームをタクソノミーcartypeのタームに限定しています。つまり、タクソノミーcartypeの中にあるsedanというタームに紐づいている記事の中から前の投稿に該当するものを取得します。

<?php $previous_post = get_previous_post(true, '', 'cartype'); ?>

学習者向け補足情報

【引数とは】
テンプレートタグ(=関数)を実行する際に、引数を渡すことができるテンプレートタグがあります。引数は、関数の中で使われるので、渡す引数の値によって実行結果が変わってきます。何を処理したいのか、どのようなデータを取得したいのかによって渡す引数が変わります。

【引数について】

  • 指定できる引数の数はテンプレートタグによって異なります。(引数なしもあり)
  • 引数ごとに必須 / 任意が決まっています。(必須は必ず指定、任意は指定しなければ初期値)
  • 引数名(例:$post)は仕様の便宜上の名前と考えてください。(この名前自体はテンプレートタグ実行に関係しません。各引数に何を指定するのかを理解していればOKです。)

※当サイトでは初期値とデフォルト値の言葉の定義を区別せず、原則統一して初期値を採用しています。

関連するテンプレートタグ

テンプレートタグ 説明
body_class() body要素に関するclass名を表示する。
do_shortcode() ショートコードが実行された文字列を返す。
add_shortcode() 任意のショートコードを作成して追加する。
wp_body_open() アクションフックwp_body_openに登録されている関数を実行する。
wp_footer() アクションフックwp_footerに登録されている関数を実行する。
wp_head() アクションフックwp_headに登録されている関数を実行する。
get_next_post() 現在の投稿の次の投稿情報を取得する。
previous_posts_link() アーカイブページにおいて次のページリンクを表示する。
next_posts_link() アーカイブページにおいて次のページリンクを表示する。
get_next_posts_link() アーカイブページにおいて次のページリンクのHTMLを取得する。
get_previous_posts_link() アーカイブページにおいて前のページリンクのHTMLを取得する。
get_template_part() テンプレートファイルにテンプレートパーツを呼び出して実行します。