ワードプレスのget_previous_post関数の使用方法・解説

概要

get_previous_post関数は、特定の投稿の1つ前の投稿情報を取得するために使用されます。この関数は、前後の投稿リンクを作成する際や、関連記事を表示する際に非常に便利です。以下は、この関数がよく使われる機能の例です。

  1. 前の投稿へのリンクを表示する
  2. 関連する投稿を一覧表示する
  3. シリーズ記事のナビゲーションを作成する
  4. カテゴリ内の前の投稿を取得する
  5. タグ内の前の投稿を取得する
  6. 記事プレフィックスとして前の投稿を表示する
  7. ウィジェットで前の投稿を表示する
  8. ショートコード内で前の投稿情報を取得する

構文

get_previous_post( $in_same_term = false, $excluded_terms = '', $post_type = '' );

パラメータ

  • $in_same_term (bool): 同じタクソノミーターム (カテゴリやタグ) 内の投稿を取得するかどうか。デフォルトは false
  • $excluded_terms (string|array): 除外したいタクソノミータームのIDまたはスラッグ。デフォルトは空。
  • $post_type (string|array): 取得する投稿タイプ。デフォルトは空で、すべての投稿タイプが対象。

戻り値

前の投稿のオブジェクトを返します。該当する投稿が存在しない場合は null を返します。

関連する関数

使用可能なバージョン

この関数は、WordPressのバージョン1.5以降で使用可能です。

コアファイルパス

wp-includes/post.php

この関数のアクションでの使用可能性

アクション 使用例
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプルコード1: 前の投稿へのリンクを表示

<?php
$previous_post = get_previous_post();
if (!empty($previous_post)) {
    echo '<a href="' . get_permalink($previous_post->ID) . '">前の投稿: ' . $previous_post->post_title . '</a>';
}
?>

このコードは、前の投稿へのリンクを取得し、タイトルと共に表示します。

サンプルコード2: 前の投稿を条件付きで取得

<?php
$previous_post = get_previous_post(true);
if (!empty($previous_post)) {
    echo '<a href="' . get_permalink($previous_post->ID) . '">前の投稿: ' . $previous_post->post_title . '</a>';
}
?>

このコードでは、同じタクソノミーターム内の前の投稿のみを取得します。

サンプルコード3: 除外タームを指定して前の投稿を取得

<?php
$previous_post = get_previous_post(false, 'exclude-term');
if (!empty($previous_post)) {
    echo '<a href="' . get_permalink($previous_post->ID) . '">前の投稿: ' . $previous_post->post_title . '</a>';
}
?>

このコードは、特定のタームを除外しつつ前の投稿を取得します。

サンプルコード4: 投稿タイプを指定して前の投稿を取得

<?php
$previous_post = get_previous_post(false, '', 'custom_post_type');
if (!empty($previous_post)) {
    echo '<a href="' . get_permalink($previous_post->ID) . '">前のカスタム投稿: ' . $previous_post->post_title . '</a>';
}
?>

このコードは、特定の投稿タイプ(カスタム投稿タイプ)の前の投稿を取得します。

サンプルコード5: 複数の条件を使用して前の投稿を取得

<?php
$previous_post = get_previous_post(true, '', ['post', 'custom_post_type']);
if (!empty($previous_post)) {
    echo '<a href="' . get_permalink($previous_post->ID) . '">前の投稿: ' . $previous_post->post_title . '</a>';
}
?>

このコードは、同じタクソノミーターム内の投稿とカスタム投稿タイプの前の投稿を取得します。

引用元: WordPress Codex, https://developer.wordpress.org/reference/functions/get_previous_post/

この関数について質問する


上の計算式の答えを入力してください