get_adjacent_post_link

(3.7.0以降)
get_adjacent_post_link - 直前または直後の投稿ページのリンクを取得する

説明

string get_adjacent_post_link( string $format, string $link [ , bool $in_same_cat$in_same_term = false [ , mixed $excluded_categories$excluded_terms = '' [ , bool $previous = true [ , string $taxonomy = 'category' ] ] ] ] )
直前または直後の投稿ページのリンクを取得する。

パラメータ

  • $format
    フォーマットを指定。
  • $link
    リンクタイトルを指定。
  • $in_same_cat$in_same_term
    同じターム([3.8.0]より前のバージョンはカテゴリー、[3.8.0]以降のバージョンは$taxonomyで指定されたタクソノミー)内の投稿ページに限定する場合はtrue、限定しない場合はfalseを指定。省略時はfalseが適用される。
  • $excluded_categories$excluded_terms
    除外するターム([3.8.0]より前のバージョンはカテゴリー、[3.8.0]以降のバージョンは$taxonomyで指定されたタクソノミー)を指定する場合は、そのタームIDを文字列または配列で指定。
  • $previous
    直前の投稿ページの場合はtrueを、直後の場合はfalseを指定(省略時はtrue)。
  • $taxonomy
    [3.8.0]$in_same_termがtrueの場合に同一判定するタクソノミー名を指定(省略時は'category')。

返り値

パラメータ$previousで示した投稿ページのリンク(aタグ)を返す。

注意

next_post_link関数で出力されるリンクを取得する。
・パラメータ$formatは、'%link'を含まなければならない。
・パラメータ$linkは、投稿タイトルの'%title'、投稿日の'%date'を含めることができる。

使用例

  • 直前の投稿ページのリンクを取得する。
    <?php $url = get_adjacent_post_link( '[%link]', '前の記事へ' ); ?>
  • 同カテゴリー内の直前の投稿ページのリンクを取得する。
    <?php $url = get_adjacent_post_link( '[%link]', '前の記事へ', true ); ?>
  • カテゴリーIDが1のカテゴリーを除外して直前の投稿ページのリンクを取得する。
    <?php $url = get_adjacent_post_link( '[%link]', '前の記事へ', false, '1' ); ?>
  • カテゴリーIDが1のカテゴリーを除外して直後の投稿ページのリンクを取得する。
    <?php $url = get_adjacent_post_link( '%link &raquo;', '%title', false, '1', false ); ?>
  • 同タグ内の直前の投稿ページのリンクを取得する。
    <?php $url = get_adjacent_post_link( '[%link]', '前の記事へ', true, '', 'post_tag' ); ?>

フィルター

リンクテキストのタイトルを決定する前に'the_title'フィルターを呼び出す。$titleには投稿情報のタイトルが、$post_idには投稿情報IDが格納される。
$title = apply_filters( 'the_title', $title, $post_id );
パラメータ$previousがtrueの場合、リンクテキストを返す前に'previous_post_link'フィルターを呼び出す。$outputにはリンクテキストが、$format$linkはそれぞれパラメータの内容が、$postには投稿情報が、$adjacent(4.2.0で追加)には'previous'が格納される。
return apply_filters( 'previous_post_link', $output, $format, $link, $post, $adjacent );
パラメータ$previousがfalseの場合、リンクテキストを返す前に'next_post_link'フィルターを呼び出す。$outputにはリンクテキストが、$format$linkはそれぞれパラメータの内容が、$postには投稿情報が、$adjacent(4.2.0で追加)には'next'が格納される。
return apply_filters( 'next_post_link', $output, $format, $link, $post, $adjacent );

アクション

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

ソースファイル

/wp-includes/link-template.php

関連

お勧めコンテンツ

Login rebuilderで第2ログインページのURLを取得する(2015年5月24日 登録)

先週のこと、「Login rebuilder」のユーザから「wp_login_url関数のように第2ログインページのURLを取得できないか」という問い合わせがありました。その時点ではそのような関数やメソッドを用意していなかったのですが、まあニーズがあるなら作ってみようと思い、対応するメソッドを追加したLogin rebuilderバージョン1.4.3をリリースしました。

プラグインの設定ページもレスポンシブ対応(2014年6月3日 登録)

レスポンシブ対応したWordPressの管理画面。プラグインやテーマのカスタマイズで管理画面を拡張しているなら、切り替わるタイミングはきっちり押さえておきたいところではないだろうか。

メディア(attachment)を拡張してより便利に活用する(2014年5月22日 登録)

「メディア(attachment)」は、標準ではカテゴリもタグもカスタムフィールドもない。投稿と親子関係を作って利用することが前提だからともいえるが、メディアをもっと便利に活用するために、それらの付加情報を絞り込みの材料として利用できないか調べてみた。

子カテゴリのアーカイブページを親カテゴリ用のテンプレートファイルで表示しよう(2011年12月8日 登録)

少し前に投稿した「適切なテンプレートファイルを用意してテンプレート内の振り分け処理を無くす」で説明した通り、特定のカテゴリ専用のテンプレートとしてcategory-○○.phpを用意することで、category.phpやarchive.php内で振り分けを行う必要がなくなる。ただ、すべてのカテゴリ分を用意するのは効率的ではないし、特に子カテゴリについては親カテゴリと共通内容になるケースが多いのではないだろうか。ここでは、子カテゴリの個別テンプレートファイルを作らず、親カテゴリのテンプレートを利用する方法を紹介する。

投稿記事でrubyタグを使えるようにする(前編)(2012年1月25日 登録)

rubyなどのルビ関連タグはIEの独自サポートから始まり、少し前のChrome/Safariが追随して利用できるようになっている。Firefoxはいまだにサポートしていないのだが、それなりに代替表示されるので、投稿記事で使えるようにしてみた。

最終更新日時 : 2015-05-28 12:56