2013-07-31 4 views
1

На моем сайте Wordpress я хочу отобразить список страниц в текущем разделе сайта. Он должен получать разные уровни страниц в зависимости от того, на каком уровне в иерархии находится текущая страница.Как узнать, на каком уровне иерархии находится текущая страница?

Например:

  1. страница верхнего уровня: список не должен отображаться.
  2. Страница второго уровня: в списке должны отображаться только дочерние страницы текущей страницы.
  3. Страница третьего уровня: в списке должны отображаться родственные страницы и дочерние страницы.

Что такое упрощенный способ узнать, на каком уровне иерархии находится текущая страница?

ответ

6

Самый простой способ я нашел:

$level = count(get_post_ancestors($post->ID)) + 1; 

Это просто дает число, показывающее глубину текущей страницы. 1 - верхний уровень, 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. 
}