get_post_ancestors

(2.5.0以降)
get_post_ancestors - 先祖の投稿IDを取得する

説明

array get_post_ancestors( mixed $post )
先祖の投稿IDを取得する。

パラメータ

  • $post
    投稿IDまたは投稿情報(オブジェクト)を指定。

返り値

先祖の投稿を遡りすべての投稿IDが格納された配列を返す。先祖の投稿がない場合は空の配列となる。

注意

返り値の配列に格納される投稿IDは、パラメータ$postから階層レベルが近い順となり、最上位の投稿の投稿IDは、配列の最後に配置される。例えばパラメータに孫投稿を指定した場合、配列の中身は{ 0=>親投稿ID, 1=>親の親投稿ID }となる。

使用例

  • $postで示す投稿について先祖の投稿IDを取得する。
    <?php $ancestors = get_post_ancestors( $post ); ?>
  • $postで示す投稿について階層レベル数(トップレベルが0)を取得する。
    <?php $level = count( get_post_ancestors( $post ) ); ?>

フィルター

直接実行するフィルターはありません。

アクション

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

ソースファイル

/wp-includes/post.php

関連

お勧めコンテンツ

固定ページを投稿ページ用テンプレートファイル(single.php)で表示する(2013年7月31日 登録)

固定ページと投稿ページのデザインが共通の場合、同じ内容のsingle.phpとpage.phpを用意すれば事足りるが、デザインの修正時は二度手間になってしまう。そこで、固定ページをsingle.phpで表示するようにできないか考えてみた。

the_date関数で投稿日を確実に表示する(2011年12月20日 登録)

投稿記事の投稿日時を表示する際、the_date関数を使用することが多いだろう。このthe_date関数はphpのdate関数と同じパラメータを指定することで、好みの日時フォーマットで投稿日時を表示できるのだが、ある条件の場合に投稿日時を表示しない。最初にこの現象に遭遇したときは、ちょっと悩まされた。

4.4では投稿ページも専用テンプレートが適用できる(2015年11月7日 登録)

従来、特定の固定ページには専用テンプレートを適用できるのですが、投稿ページに適用させるためにはアクションやフィルターを利用する必要がありました。4.4では特定の投稿ページに標準で専用テンプレートを適用できるようになりそうです。

各投稿記事で設定されているカスタムフィールドの値を取得するには(2011年9月16日 登録)

投稿記事ごとに設定されているカスタムフィールドの値はget_post_meta関数で取得できるが、すべての投稿記事で設定されているカスタムフィールドの値を一覧を取得する関数が見当たらない。カテゴリーや投稿タグのようにそれぞれの値と実際に使用されている投稿記事件数を取得したいのだが、探し方が悪いのか見つからないのだ。

投稿日の検索が自由自在に(2013年10月30日 登録)

WordPress 3.7.0ではWP_Date_Queryクラスが追加され、WP_Queryクラス(もちろんquery_posts関数でも)で利用できるようになった。このWP_Date_Queryにより、○年○月○日以前や以降の投稿情報を取得したり、○年○月○日から○年○月○日の範囲の投稿情報を取得したりといったことが、容易に行えるようになった。

最終更新日時 : 2014-12-26 12:12