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

関連

お勧めコンテンツ

3.2標準テーマ「Twenty Eleven」は投稿フォーマットに着目(2011年7月6日 登録)

新テーマ「Twenty Eleven」のトップページでは、投稿フォーマットに応じて表示を切り替える仕組みが提案されている。ここでは、その投稿フォームの活用方法を簡単に紹介する。

Login rebuilder:プラグイン作ってみました(2013年1月18日 登録)

昨年投稿した「ログインページを変える」をプラグイン化。ログインページを独自の名前のページ変更し、標準のログインページwp-login.phpを使用できないようにするプラグインです。部外者によるwp-login.phpのアクセスにお悩みの方にお勧めします。また2.0.0では「XML-RPCリクエストの管理機能」を追加しました。

ツイート引用が簡単になる仕組み(2012年6月8日 登録)

WordPress 3.4では、投稿記事の中にツイートのURLを記述するだけで、投稿ページにそれっぽい表示をしてくれるようになる。ちょっと気になったので、その仕組みを追っかけてみた。

HTML entities button:プラグイン作ってみました(2011年6月29日 登録)

以前投稿した「HTML編集モードに定型文ボタンを追加する」をアレンジして、HTML編集モードに特殊文字(HTMLエンティティ)を挿入できるボタン、顔文字を挿入できるボタン、過去の投稿ページのリンクを挿入できるボタンを追加するプラグインを作ってみました。HTML編集モードの作業効率を向上させるプラグインです。2.0.0の新機能は「こちら」で確認してください。HTML編集モードをメインに使用されている方は、お試しあれ。

ショートコードを含んだページを表示する前に何か処理する(2014年5月28日 登録)

固定ページまたは投稿ページに独自のフォームを埋め込む。入力→登録の2段階のフォームなら著名なプラグイン「Contact Form 7」を利用すればいいのだが、クライアントの依頼は入力→確認→登録の3段階で組み込む要素が特化していたので、独自の実装方法を考えることになった。

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