概要
get_previous_post
関数は、特定の投稿の1つ前の投稿情報を取得するために使用されます。この関数は、前後の投稿リンクを作成する際や、関連記事を表示する際に非常に便利です。以下は、この関数がよく使われる機能の例です。
- 前の投稿へのリンクを表示する
- 関連する投稿を一覧表示する
- シリーズ記事のナビゲーションを作成する
- カテゴリ内の前の投稿を取得する
- タグ内の前の投稿を取得する
- 記事プレフィックスとして前の投稿を表示する
- ウィジェットで前の投稿を表示する
- ショートコード内で前の投稿情報を取得する
構文
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/