get_adjacent_post
(2.5.0以降)
get_adjacent_post - 現在の投稿記事に隣接する投稿記事を取得する
説明
object get_adjacent_post( [ bool $in_same_cat = false [ , string $excluded_categories = '' [ , bool $previous = true ] ] ] )
現在の投稿記事に隣接する投稿記事を取得する。
パラメータ
- $in_same_cat
現在の投稿情報と同じカテゴリーで調べる場合はtrueを、同じカテゴリーに限定しない場合はfalseを指定(省略時はfalse)。
- $excluded_categories
除外するカテゴリーのIDを指定(省略時は'')。複数のカテゴリーを除外する場合は'1 and 2'のように' and 'で区切る。
- $previous
前の投稿情報を調べる場合はtrueを、次の投稿情報を調べる場合はfalseを指定(省略時はtrue)。
返り値
隣接する投稿情報のオブジェクトを返す。隣接する投稿情報がない場合はnullを返す。
注意
隣接する投稿記事は、投稿記事の投稿日時を起点に投稿日時でソート後、一番近い投稿記事が対象となる。
なおパラメータ
$in_same_catをtrueにした場合、現在の投稿記事が属するカテゴリーのIDを
$excluded_categoriesに含めても、そのカテゴリーを除外することはできないので、注意が必要である。具体的には、現在の投稿情報がカテゴリーIDが10と15のカテゴリーに属している場合、次のように指定してもIDが10のカテゴリーは対象から除外されない。
$prev = get_adjacent_post( true, '10' );
IDが15のカテゴリーのみを対象にする場合は、
$in_same_catはfalseにし、
$excluded_categoriesにはIDが15以外のすべてのカテゴリーIDを列挙したものを指定する必要がある(すべてのカテゴリーのIDが3、5、10、15の場合)。
$prev = get_adjacent_post( false, '3 and 5 and 10' );
なお、検索結果は検索条件に紐づいてキャッシュされ、次に検索条件が同じ場合はキャッシュから結果を返している。
使用例
- 現在の投稿記事の前の投稿記事を取得する。
<?php $prev = get_adjacent_post(); ?>
- 現在の投稿記事と同じカテゴリーの次の投稿記事を取得する。
<?php $next = get_adjacent_post( true, '', false ); ?>
- 現在の投稿記事と次の投稿記事を取得する。
<?php $next = get_adjacent_post( false, '', false ); ?>
- カテゴリーIDが10と15のカテゴリーを除外して現在の投稿記事と次の投稿記事を取得する。
<?php $next = get_adjacent_post( false, '10 and 15', false ); ?>
フィルター
実行するフィルターはありません。
アクション
実行するアクションはありません。
ソースファイル
/wp-includes/link-template.php
お勧めコンテンツ
スマートフォン向けの振り分けを自前で行う(2011年11月2日 登録)
PC向けのサイトをスマートフォン対応する場合、WPtouchやktai styleに代表されるスマートフォン対応のテンプレート切り替えプラグインを使用するのが一般的。そういったプラグインはテンプレート切り替え以外の機能も備えており、そういった機能は必ずしも必要ではない。そんなわけで、ここでは超シンプルなスマートフォン向けのテンプレート切り替えを実現する方法を紹介する。
index.htmlでアーカイブページを表示させる(2011年10月14日 登録)
静的なサイトでは、各ディレクトリにindex.htmlファイルを置き、そのディレクトリの内容を紹介することが多い。WordPressで構築したサイトも同様にできないかと考え、試行錯誤してみた(こんなことを考えてるのは自分だけだろうか!?)。
最終更新日時 : 2012-02-01 22:06