paginate_links

説明

mixed paginate_links( [ mixed $args = '' ] )
(アーカイブページ向けの)ページネートリンクを取得する。

パラメータ

  • $args
    ページネートリンクのパラメータを連想配列または文字列で指定する(省略時は、'')。
    キー名意味デフォルト値
    baseベースURL('%_%'がページネート部分に置き換わる)'%_%'
    formatページネート部の書式('%#%'がページ番号に置き換わる)'?page=%#%'
    total最大ページ数(2以上)1
    current現在のページ番号0
    show_all全件表示false
    prev_next「前へ」「次へ」のリンクの有無true
    prev_text「前へ」のテキスト__('« Previous')
    next_text「次へ」のテキスト__('Next »')
    end_size最終ページ部の表示件数(1以上)1
    mid_size現在のページ部の表示件数(0以上)2
    type出力形式('array'、'list'、その他)'plain'
    add_argsURLに追加するパラメータを連想配列で指定false
    add_fragmentadd_argsパラメータ指定分の後に追加するパラメータ''
    before_page_number[3.9.0]各ページ番号の前に追加するテキスト''
    after_page_number[3.9.0]各ページ番号の後ろに追加するテキスト''
    aria_current[4.9.0]現在のページを示すspan要素のaria_current属性値'page'

返り値

'type'が'array'の場合は、各ページネートリンクを格納した配列を返す。'type'が'list'の場合は、UL、LIタグで囲まれたページネートリンクの文字列を返す。'type'が'array'および'list'以外の場合は、単純にページネートリンクが連結した文字列を返す。

注意

ベースURL、ページ部について自由に設定できる汎用的な関数で、アーカイブページはもちろん検索結果ページでも応用できる(むしろこちらが本命かも)。
'show_all'はデフォルトfalseで、ページ数が多い場合は途中が「…」になる(ドット表示)。'show_all'がtrueの場合にはドット表示されない。

使用例

  • ベースURLが'http://localhost/category/news'で、ページ数を10、現在のページを5としてリンクを取得する。
    <?php $link = paginate_links( array( 'base'=>'http://localhost/category/news', 'total'=>10, 'current'=>5 ) ); ?>
  • ベースURLが'http://localhost/category/news'で、ページ部を'/page/%#%'、ページ数を10、現在のページを5として、UL、LIタグ付きで取得する。
    <?php $link = paginate_links( array( 'base'=>'http://localhost/category/news', 'format'=>'/page/%#%', 'total'=>10, 'current'=>5, 'type'=>'list' ) ); ?>

フィルター

リンク先URLの生成時、'paginate_links'フィルターが呼び出される。パラメータ$linkにはリンク先URLが格納される。
esc_url( apply_filters( 'paginate_links', $link ) )

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/general-template.php

最終更新 : 2017年11月17日 09:07



お勧め

PHPとMySQLのバージョンを確認(2013年9月11日 更新)

先日、WordPressで構築されたサイトについて最新版へのバージョンアップを依頼される。使用されていたWordPressはバージョン2.xということで、最新版へバージョンアップできるのか、PHPとMySQLのバージョンを確認することになった。

投稿一覧に独自リンクを追加する(2013年10月16日 更新)

管理者ページの「投稿一覧」や「固定ページ一覧」の各投稿記事はマウスポインタを移動すると、「編集」や「クイック編集」といったリンクが表示される。このリンクに独自のリンクを追加する方法を調べてみた。

さくらのVPSでKUSANAGI(2018年5月27日 更新)

請け負っていた業務が一段落したので、「さくらのVPS」で「KUSANAGI」を試してみました。推奨環境はメモリ4GBとなっているが、今回は実験的な利用なので、SSD 2GBプランでトライしました。

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。

ログインページを変える(2014年9月12日 更新)

WordPressの標準的な不正ログイン対策としては、ログインIDは'admin'を避けるパスワードはユニークで長くする、場合によってはアクセスできるIPアドレスを制限する、といった具合だろう。これらの他に何かできないものだろうかと、ちょっと考えてみた。