O przydatności WP jako prostego i szybkiego (w instalacji, niekoniecznie w działaniu 🙂 ) systemu CMS wie prawie każdy. Jego sławna cecha bycia SEO-friendly rozpropagowała go dość mocno na świecie. Jednak pozostaje on nadal głównie platformą blogową i aby przystosować go do nowego zadania, trzeba poznać trochę jego wnętrze.
Większość systemów zarządzania treścią potrzebuje w pewnym momencie sensownego sposobu wyświetlania określonego menu na różnych podstronach, niezależnie od głębokości zagnieżdżenia. Banalne zadania, ale patrząc na różne fora, przysparza wielu problemów. Poniżej moje rozwiązanie:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php $thisPage = get_post($post->ID); if(is_array($thisPage->ancestors)) { $ancestor = end($thisPage->ancestors); } if($ancestor) { // jeśli strona ma rodziców wyświetlamy wszystko dla głównego rodzica $children = wp_list_pages('title_li=&child_of=' . $ancestor . '&echo=0'); } else { // jeśli nie, to dla danej strony $children = wp_list_pages('title_li=&child_of=' . $post->ID . '&echo=0'); } if ($children) { // nie chcemy wyświetlać pustego elementu ?> <ul> <?php echo $children; ?> </ul> <?php } ?> |