WordPress wp_list_pages: список братьев и сестер родительской страницы - PullRequest
1 голос
/ 30 ноября 2010

Я пытаюсь заставить это работать довольно долго. Я близко, но не могу найти рабочее решение.

Моя структура страницы выглядит следующим образом:

1 FIRST LEVEL
  2 SECOND LEVEL
    3 THIRD LEVEL
      4 CAR
         5 SUV
         5 MINIVAN
         5 FULLSIZE
      4 MOTORCYCLE
      4 BICYCLE
  2 SECOND LEVEL
  2 SECOND LEVEL
1 FIRST LEVEL

Мне нужен оператор wp_list_pages, который выполняет следующее: на страницах 4-го и 5-го уровня (и ТОЛЬКО на тех) навигация перечисляет все страницы 4-го уровня.

(Когда я нахожусь на странице "АВТОМОБИЛЬ", навигация должна быть АВТО, МОТОЦИКЛ, ВЕЛОСИПЕД. А также, когда я нахожусь на странице МИНИВАН, навигация должна быть АВТОМОБИЛЬ, МОТОЦИКЛ, ВЕЛОСИПЕД.)

Большое спасибо за любую помощь!

Ответы [ 2 ]

4 голосов
/ 30 ноября 2010
$ancestors = get_post_ancestors($post);
if (count($ancestors) >= 3) {
    $parent = $ancestors[2]; // third level page ID
    wp_list_pages('depth=1&child_of=' . $parent);
}

Не стесняйтесь спрашивать, если вы не уверены ни в чем:)

1 голос
/ 30 ноября 2010

Вот код, который я наконец-то использовал, благодаря ответу TheDeadMedic. (Я отменил один уровень страницы, так что это для 3-го и 4-го уровня)

$ancestors = get_post_ancestors($post);
if (count($ancestors) == 2) {
   $parent = $ancestors[0];
}
elseif (count($ancestors) == 3) {
   $parent = $ancestors[1];
}

if ($parent) { 
   $tabs = wp_list_pages('depth=1&child_of=' . $parent);
}
...