[WordPress]階層付きのカスタム投稿で表示ページの子・孫ページのIDを配列で取得する方法

作成日:
[php]function checkChild($post, $ar){
global $array;
$array = $ar;
//子ページの有無を確認
$posts = get_posts( 'numberposts=-1&order=ASC&orderby=post_title&post_type=custompost&post_parent=' . $post->ID );
if($posts){
//親ページであれば、子のページIDを配列に追加し、再処理
foreach($posts as $val){
$array[] = $val->ID;
checkChild($val, $array);
}
}else{
//独身ページであれば、現在のページのIDを配列に追加
$array[] = $post->ID;
}
return $array;
}[/php]

初め、foreachの中の処理で取得した配列が毎回リセットされるので、どうしたもんかと思っていましたが、こういう時にグローバル変数を設定してやれば良いのですね。
http://ja.forums.wordpress.org/topic/5972

物草 灸太郎
物草 灸太郎

WordPressでホームページを制作しつつ、休日は畑を耕したりDIYを楽しんでいます。

Loading...

コメントをどうぞ

  • メールアドレスが公開されることはありません。
  • コメント欄にURLは入力できません。
  • このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシー利用規約が適用されます。