WordPress サイトで、現在のサイト セクションのページのリストを表示したいと考えています。現在のページが存在する階層のレベルに応じて、さまざまなレベルのページを取得する必要があります。
例えば:
- 最上位ページ: リストはまったく表示されません。
- 第 2 レベルのページ: リストには、現在のページの子ページのみが表示されます。
- 第 3 レベルのページ: リストには兄弟ページと子ページが表示されます。
現在のページがどのレベルの階層にあるかを調べる最も簡単な方法は何ですか?
WordPress サイトで、現在のサイト セクションのページのリストを表示したいと考えています。現在のページが存在する階層のレベルに応じて、さまざまなレベルのページを取得する必要があります。
例えば:
現在のページがどのレベルの階層にあるかを調べる最も簡単な方法は何ですか?
私が見つけた最も簡単な方法は次のとおりです。
$level = count(get_post_ancestors( $post->ID )) + 1;
これは、現在のページの深さを示す数値を与えるだけです。1 は最上位レベル、2 は 2 番目のレベルなどです。次に、番号に基づいてコードを切り替えることができます。
switch($level) {
case 1:
// top level page code;
break;
case 2:
// second level page code;
break;
case 3:
// third level page code;
break;
// etc.
}