概要
get_pagenum_link
関数は、WordPressにおいてページ番号リンクを取得するための関数です。この関数は、特にページネーションを実装する際に使用され、特定のページ番号に対するURLを生成します。主に以下のような機能を実装する際によく利用されます。
- カスタム投稿タイプのページネーション
- ブログのアーカイブページでのページ番号リンク
- 検索結果ページでのページネーション
- コメントのページネーション
- 特定のクエリに基づくページ番号リンクの生成
- タグやカテゴリのアーカイブのページネーション
- 記事一覧ページでのページ番号リンクの表示
- カスタムクエリを利用したページネーション
構文
get_pagenum_link( $n );
パラメータ
$n
(int) : 取得したいページ番号を指定します。デフォルトは0
です。
戻り値
- (string) : 指定したページ番号のリンクURLを返します。
関連する関数
使用可能なバージョン
- WordPress 2.1.0以降
コアファイルのパス
wp-includes/link-template.php
サンプルコード
サンプルコード 1
$page_num = 1;
$page_link = get_pagenum_link( $page_num );
echo '<a href="' . esc_url( $page_link ) . '">ページ ' . $page_num . '</a>';
このコードは、ページ番号1に対するリンクを作成し、画面に表示します。
サンプルコード 2
$total_pages = 5; // 総ページ数
for ( $i = 1; $i <= $total_pages; $i++ ) {
echo '<a href="' . esc_url( get_pagenum_link( $i ) ) . '">ページ ' . $i . '</a> ';
}
このコードは、総ページ数が5のページ番号リンクを生成し、それぞれのリンクを表示します。
サンプルコード 3
$current_page = get_query_var('paged') ? get_query_var('paged') : 1;
$page_link = get_pagenum_link( $current_page );
echo '<a href="' . esc_url( $page_link ) . '">現在のページ: ' . $current_page . '</a>';
現在のページ番号を取得し、そのページに対するリンクを表示します。
サンプルコード 4
$last_page = 10;
echo '<div class="pagination">';
for ( $n = 1; $n <= $last_page; $n++ ) {
echo '<a href="' . esc_url( get_pagenum_link( $n ) ) . '">' . $n . '</a> ';
}
echo '</div>';
このコードは、ページ番号1から10までのリンクを生成し、ページネーションを表示します。
サンプルコード 5
global $wp_query;
$total_pages = $wp_query->max_num_pages;
echo '<div class="page-links">';
for ( $n = 1; $n <= $total_pages; $n++ ) {
echo '<a href="' . esc_url( get_pagenum_link( $n ) ) . '">ページ ' . $n . '</a>';
}
echo '</div>';
現在のクエリの最大ページ数を利用して、ページ番号リンクを動的に表示します。
この関数のアクションでの使用可能性
アクション名 | 使用可能性 |
---|---|
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 |
非推奨または削除されたバージョン
現在のところ、特定のWordPressバージョンにおいてget_pagenum_link
関数が非推奨又は削除されたという情報はありません。