私は「ステータステスト」をするための簡単な関数を作成しようとしています。目標は、現在表示されているページに子ページがあるかどうかをテストして確認することです。これを使用して子ページに合わせてレイアウトを変更します。次のコードは動作するはずですが、残念ながら、サイコロはありません。
誰が私が行方不明になっているのを見ますか?
function is_subpage() {
global $post; // load details about this page
if ( is_page() && $post->post_parent ) { // test to see if the page has a parent
return true; // return true, confirming there is a parent
} else { // there is no parent so ...
return false; // ... the answer to the question is false
}
}
上記の関数は、ページ が 他のページの子ページかどうかをテストします。子があるかどうかはテストしません。
現在のページの子をテストすることができます。
function has_children() {
global $post;
$children = get_pages( array( 'child_of' => $post->ID ) );
if( count( $children ) == 0 ) {
return false;
} else {
return true;
}
}
参考文献:
カスタム投稿タイプを使用している場合に備えて、これは任意の投稿タイプのバージョンです。
function has_children($post_ID = null) {
if ($post_ID === null) {
global $post;
$post_ID = $post->ID;
}
$query = new WP_Query(array('post_parent' => $post_ID, 'post_type' => 'any'));
return $query->have_posts();
}