スタッフブログ

WordPress 子ページを出力

先日 WordPress で子ページリストを出力出来ない問題にぶち当たりました。
テンプレートタグ wp_list_pages() の使用場所が親ページに限られていて、子ページ中では同階層のページを出力出来ない問題です。

何とか解決出来ないかと作った関数が以下のもの。

// 子ページを取得
function get_pages_children($parent_id){
    global $wpdb;
    $sql = "SELECT * FROM $wpdb->posts WHERE (post_type = 'page' AND post_status = 'publish') AND post_parent = $parent_id ORDER BY menu_order ASC";
    return $wpdb->get_results($sql);
}

// 子ページをリストで出力
function list_pages($parent_id) {
	$pages = get_pages_children($parent_id);
	foreach($pages as $key => $value){
		$id[$key] = $pages[$key]->ID;
	}
	$id = implode(',',$id);
	echo wp_list_pages("depth=1&title_li=&sort_column=ID&include=$id");
}

もっとシンプルな形に纏められるかもしれません。
使用方法は list_pages() の引数に親ページIDを指定するだけ。

スタッフブログ|2010年07月23日

ホームページ運用相談作成依頼はこちらから

0120-982-419

メールマガジン会員募集

ラクーからのメールマガジンの会員を募集しております。
ホームページに関する最新情報や、IT業界の先進事例などを定期的に送信いたします。
ご登録は下記のフォームにメールアドレスを入力して送信するだけとなります。


PAGE TOP