Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem
WebHelp.pl Warsztat Porady WordPress: wyświetlenie hierarchii stron

Warsztat / Porady

WordPress: wyświetlenie hierarchii stron

Bartosz Romanowski 29 stycznia 2012 komentarze ()

Tagi:WordPress

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>&rsaquo;</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.

Bartosz Romanowski

Programista, gadżeciarz, krytyczny miłośnik produktów Apple, fan ciężkich brzmień i niepoprawny pesymista.


Komentarze


HTML CSS JavaScript PHP bazy danych MySQL Flash grafika framework hosting domeny pozycjonowanie wordpress Facebook