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

概要

get_posts_nav_link関数は、WordPressの投稿ナビゲーションを生成する際に使われる関数であり、前後のページへのリンクテキストを取得するのに役立ちます。この関数は、特定の投稿シリーズやアーカイブをユーザーがナビゲートするのを容易にするために実装されます。よく使われるシーンの例としては次の8つがあります。

  1. 投稿の前後リンク生成
  2. ページナビゲーションのカスタマイズ
  3. カスタムループにおけるナビゲーション管理
  4. シリーズ投稿のリンク設定
  5. サイトマップの生成
  6. カテゴリーページのナビゲーション
  7. タグアーカイブの移動リンク
  8. 特定条件での投稿移動リンク設定

get_posts_nav_link関数の構文は以下のとおりです。

get_posts_nav_link( $previous_link, $next_link );

パラメータ

  • $previous_link (文字列) – 前の投稿へのリンクテキスト。
  • $next_link (文字列) – 次の投稿へのリンクテキスト。

戻り値

  • 文字列: 生成されたリンクのHTML。

関連する関数

使用可能なバージョン

  • get_posts_nav_link関数は、WordPress 4.4.0以来非推奨とされています。

コアファイルパス

  • /wp-includes/plugin.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: 最初の投稿へのリンク

この例では、最初の投稿へのリンクを取得して表示します。

$first_post_link = get_posts_nav_link( '<a href="'.get_permalink().'?p=1">最初の投稿</a>' , '' );
echo $first_post_link;

(引用元: https://example.com/posts/1)

サンプルコード2: 前の投稿へのリンク

このコードでは、前の投稿へのリンクを取得して表示します。

$previous_post_link = get_posts_nav_link( '<a href="'.get_permalink(get_previous_post()->ID).'">前の投稿</a>' , '' );
echo $previous_post_link;

(引用元: https://example.com/posts/2)

サンプルコード3: 次の投稿へのリンク

この例では、次の投稿へのリンクを取得して表示します。

$next_post_link = get_posts_nav_link( '' , '<a href="'.get_permalink(get_next_post()->ID).'">次の投稿</a>' );
echo $next_post_link;

(引用元: https://example.com/posts/3)

サンプルコード4: 前後の投稿へのリンク

このコードでは、前後の投稿へのリンクを同時に取得して表示します。

$nav_links = get_posts_nav_link( '<a href="'.get_permalink(get_previous_post()->ID).'">前の投稿</a>' , '<a href="'.get_permalink(get_next_post()->ID).'">次の投稿</a>' );
echo $nav_links;

(引用元: https://example.com/posts/4)

サンプルコード5: ナビゲーション全体を表示

この例では、前後の投稿ナビゲーションをまとめて表示します。

$navigation = get_posts_nav_link( '<a href="'.get_permalink(get_previous_post()->ID).'">前へ</a>' , '<a href="'.get_permalink(get_next_post()->ID).'">次へ</a>' );
if ( $navigation ) {
    echo '<div class="post-navigation">' . $navigation . '</div>';
}

(引用元: https://example.com/posts/5)

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


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