Вы используете дочерние страницы, но в понравившейся теме нет навигации по дочерним страницам? Вы хотите, чтобы на страницах были ссылки на их дочерние страницы? Cсылки на родительские и дочерние страницы можно добавлять динамически, вставив нужный код в пользовательский шаблон страницы, в шаблон страницы темы (файл page.php) или в боковое меню (файл sidebar.php).
Иерархию постоянных страниц образуют дочерние страницы.
Функция wp_list_pages по умолчанию выводит иерархию страниц в виде древовидного списка ссылок на все постоянные страницы вместе с их дочерними страницами с заголовком "Страницы".
Если считать, что дочерние страницы - это подразделы, посетителя сайта могут заинтересовать эти подразделы, поэтому добавим в пользовательский шаблон страницы или в шаблон страницы page.php такой код после строки с вызовом функции the_content():
Вывод ссылок на дочерние страницы
// дочерние страницы текущей страницы <?php $postID=$post->ID; $children = wp_list_pages('title_li=&child_of='. $postID .'&echo=0'); if ($children) { ?> <h3>В разделе "<?php the_title() ?>":</h3> <ul> <?php echo $children; ?> </ul> <?php }?>
Кроме того, на других дочерних страницах родительской страницы могут рассматриваться родственные темы, также интересные посетителю сайта, поэтому добавим:
Вывод ссылок на дочерние страницы той же самой родительской страницы
// дочерние страницы родительской страницы <?php $parentID= $post->post_parent; // return the ID of the parent post if($parentID){ //$parentID =$ancs[0]; $siblings=wp_list_pages('depth=1&exclude=' . $postID . '&echo=0&child_of=' . $parentID . '&title_li='); if ($siblings) { echo('<h3>В разделе "'. get_the_title($parentID) .'" также: </h3>'); ?> <ul> <?php echo $siblings; ?> </ul> <?php } }?>
Хлебные крошки
Остается только добавить навигацию вверх по иерархии страниц - breadcrumbs (хлебные крошки). Для этого используем функцию get_post_ancestors(), которая возвращает предков заданной страницы, перед вызовом функции the_content():
<?php $ancs=get_post_ancestors($post); // array of IDs $parentID=$ancs[0]; if ($parentID){ $ancs=array_reverse($ancs); foreach($ancs as $anc) { $anc_title = get_the_title($anc); echo '<a href="' . get_permalink($anc). '" title="' . $anc_title . '">' . $anc_title . '</a> » '; } } ?>
Получаем примерно такой результат:
Огромное спасибо! Задолбалась сама писать эту функцию, а тут такое ЩАСЬЕ.... :)
ЩАСЬЕ.... каждый понимал по-своему...
Пользуйтесь на здоровье
Спасибище... !
:-)
Спасибо!
1) а как у последнего элемента в хлебных крошках убрать лишние кавычки?
либо/лучше
2) отобразить название текущей страницы в последнем элементе хлебных крошек? куда необходимо добавить get_the title();?
3) если у меня страница записей не на главной, а под нее заточен отдельный шаблон (static page, например, /articles/), то как сделать, чтобы крошки тоже отображались в index.php (я добавил функцию в index, но не выводятся в результате) и чтобы при переходе на запись, страница вывода ленты записей (/articles/) тоже учитывалась?
Пояснение к пункту "3"
Сейчас у меня в записях крошки выглядят так:
Главная » тестовая-запись
А хотелось бы:
Главная » Статьи » тестовая-запись
Статьи - это index.php (лента записей)
Добрый день!
Подскажите, пожалуйста, а как сделать вывод на дочерние, но без поддочерних страниц?
Пример:
У вас
В разделе:
-Дочерняя 1
-дочерняя 1.1
-дочерняя 1.2
-Дочерняя 2
а мне нужно
В разделе:
-Дочерняя 1
-Дочерняя 2
Спасибо!
Чтобы ограничить уровень вложенности страниц, используется параметр depth.
depth=1 – будут получены только страницы верхнего уровня
depth=2 - верхнего и следующего уровня и т.д.
см. http://mblogm.ru/wordpress-guide/wordpress-functions/wp_list_pages/
Спасибо!
Скажите есть способ вывести хлебные крошки по следующей схеме?
главная-вторая страница-категория-подкатегория
Вторая страница выпадает из схемы
У страниц (Page) и записей (Post) разные иерархии.
В этой статье рассматриваются хлебные крошки для страниц, которые имеют родительские и дочерние страницы.
Категории (иначе говоря, рубрики) могут содержать подкатегории и записи. См. в статье http://mblogm.ru/blog/post-breadcrumbs/ (Хлебные крошки для рубрик и записей блога)
Огромный респект, чуть не убил кучу времени на реализацию задуманного. А тут контрл ц - контрл в
Большое спасибо. Хлебные крошечки красавицы :)