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