Warsztat / Porady
WordPress: wyświetlenie hierarchii stron
Bartosz Romanowski 29 stycznia 2012
komentarze (
Hierarchia stron w WordPressie pozwala nam na stworzenie struktury drzewiastej, w której każda strona może (ale nie musi) mieć stronę nadrzędną. Jest to bardzo wygodne gdy chcemy stworzyć serwis oparty na stronach, które są ze sobą powiązane (na przykład strona produktu może mieć podstrony z danymi technicznymi czy zdjęciami). W takim przypadku prędzej czy później staniemy przed koniecznością wyświetlenia tej struktury w jakimś miejscu na stronie. Można to zrobić na kilka sposobów, z których zaprezentuję dwa.
Zacznijmy od wyświetlenia wszystkich stron nadrzędnych dla bieżącej strony. Skorzystamy z funkcji get_post_ancestors()
, która zwróci nam tablicę zawierającą identyfikatory tych stron.
- Kod: Zaznacz cały
global $post; $parents = get_post_ancestors($post); $links = ''; foreach($parents as $parent) { $page = get_page($parent); $links = '<a href="'.get_permalink($page).'">'.get_the_title($page).'</a> <span>›</span> '.$links; } echo $links;
W wyniku działania powyższego kodu otrzymamy listę linków obrazującą całą "ścieżkę" prowadzącą do naszej strony - od strony głównej poprzez kolejne podstrony. Lista taka może nam posłużyć do stworzenia nawigacji okruszkowej (breadcrumb).
Drugim sposobem jest wyświetlenie listy stron podrzędnych do bieżącej strony. Pójdziemy na łatwiznę i skorzystamy z gotowej funkcji wp_list_pages()
, wyświetlającej linki do stron:
- Kod: Zaznacz cały
global $post; wp_list_pages(array('child_of' => $post->ID, 'sort_column' => 'menu_order, post_title', 'depth' => 2));
Warto zwrócić uwagę na parametr depth
, dzięki któremu możemy zmienić ilość zagłębień w wyświetlanej hierarchii (na przykład 2 oznacza, że wyświetlone zostaną podstrony podstron naszej bieżącej strony).
Masz pytania lub wątpliwości? Odwiedź nasze forum dyskusyjne.