«Хлебные крошки» для WordPress без использования плагина

"Хлебные крошки" - это важный элемент навигации веб-сайта, который повышает его юзабилити. Особенно это касается сайтов со сложной структурой. Я, к сожалению (а, может, и не к сожалению), не использую их на большинстве своих сайтов, возможно, потому, что у них слишком простая структура (для такого ...

Комментарии (671)

  1. Александр
    5 лет назад

    А можно сделать хлебные крошки, чтобы они были завязаны на меню, а не на страницах и рубриках. Просто у меня в меню так

    Страница:
    Страница:
    Рубрика
    Рубрика

    А в рубриках сами записи.
    Пробую установить код, а он мне выдает:
    Главная / запись.
    Без промежуточных.

  2. Александр
    5 лет назад

    Огромное спасибо за статью, отличная функция!
    Но есть вопрос, который не могу осилить, т.к. плохо разбираюсь в PHP.
    У меня на сайте все подкатегории вложены в категорию Новости, но в хлебных крошках я не хотел бы видеть название этой категории. Тоесть структура рубрик (и соответственно выдача функции) такова:
    Главная > Новости > Автомобили > Автоваз или Главная > Новости > Автомобили > Камаз
    Требуется исключить категорию Новости из выдачи функции. Может это можно как-то сделать, запретив вывод названия этой категории по её ID?
    Заранее благодарен за ответ.

  3. Возникла проблема при выводе результатов поиска:
    Если на странице с результатами поискового запроса выводятся и страницы и записи — то крошки выводятся без разделителя:

    ГравнаяРезультаты поиска

    Если содержимое однотипное то все нормально

    Главная \ Результаты поиска

  4. У меня вообще ничего не вывелось, пусто.

  5. Единственное, что теперь останется сделать — оформить их с помощью CSS. Для этого к блоку «хлебных крошек» предусмотрен класс .breadcrumbs, а для текущей «крошки» класс .current.

    Как это сделать?

  6. Спасибо, все получилось, только буквы жирные как поменять, подскажете? пжста

  7. Михаил
    5 лет назад

    Здравствуйте, Дмитрий! Отличная функция хлебных крошек, всё работает на ура.
    Но вот понадобилось её немного модифицировать. Задача — отсечь страницы, снятые с публикации (записи не важны). Выводятся они в хлебных крошках, если родительская страница снята с публикации, а дочерняя опубликована.
    Нашёл в кодексе вот такую функцию:

    if ( get_post_status ( $ID ) == 'pending' ){}

    Но как грамотно её вставить в ваш код знаний php не хватает.
    Можете подсказать?

  8. Виталий
    5 лет назад

    Дмитрий спасибо большое за данный костыль. Но вот маленький вопросик (если позволите с ссылками)

    разместил Ваш скрипт http://www.nibbl.ru/web/seo/kak-zakryt-ot-indeksacii-vneshnie-ssylki-na-sajte/
    в гугл тулс https://developers.google.com/structured-data/testing-tool/ он выводит два уровня т.е. все вроде бы ок!

    Но в Валидаторе микроразметки Яндекса
    он пишет Микроразметка не обнаружена =(
    http://www.screencapture.ru/file/f9A94dD7

    как такое может быть? Ваш сайт там отображается нормально http://www.screencapture.ru/file/93beA1F0

    + еще один вопрос, а что бы в яндексе тоже были правильные хлебные крошки что нужно сделать? (ps причем не очень понимаю почему Ваш сайт в яндексе хлебные крошки не отображаются http://www.screencapture.ru/file/44872438)

    Заранее спасибо!

    • как такое может быть? Ваш сайт там отображается нормально

      Вот уж не знаю. Возможно, глюк Яндекса.

      еще один вопрос, а что бы в яндексе тоже были правильные хлебные крошки что нужно сделать?

      Не представляю.

  9. Хорошая вещь. Только js с выделением глючит(на этой странице).

  10. После вставки в functions.php — сайт вообще не открывается

  11. P.P.S. Если вы публикуете посты сразу в несколько рубрик, то в цепочке будут отображаться все эти рубрики через запятую. Я посты публикую всегда только в одну рубрику, поэтому не пытался сделать так, чтобы отображалась только одна из рубрик.

    у меня выводится только одна рубрика

  12. Добрый день, Дмитрий. Не могу разобраться. Если возможность вывода крошек: Главная->Страница->Записи.
    Где Страница — страница (не рубрика), с которой мы перешли на конкретную запись.
    Заранее спасибо

  13. у меня ссылка имеет следующий вид
    www.site.ru///postcat/post
    где у меня может быть ошибка?

  14. Спасибо! Пригодилось. Работает как часики.

  15. У меня такой вопрос. Тема куплена, крошки были изначально. Все почти на русском, кроме некоторых. Для главной нашла код, смогла перевести.
    А как перевести: «Error 404», «Static block»,«Search results for»»» (при нажатии на «Поиск»), «(Page 2)»?
    Не подскажите?

  16. Здраствуйте, подскажите пожалуйста нужно ли ставить ссылку на главную страницу в конце статьи для продвижения, если в плагине хлебные крошки уже есть ссылка на главную страницу в статье?

  17. Здравствуйте! Огромное спасибо, отличная функция, все работает на ура. Есть вопрос:

    я сделал такое отображение:

    Главная>Рубрика>Подрубрика

    Т.е. название поста после рубрики не выводится, но я хотел бы, чтобы после подрубрики шел разделитель. Как это можно сделать? Т.е. чтобы было так:

    Главная>Рубрика>Подрубрика>

    Заранее спасибо.

  18. Здравствуйте, Dimox!
    Подскажите, пожалуйста, как сделать эту навигационную цепочку полностью некликабельной?

  19. Добрый день. Подскажите, как для дочернего элемента хлебных крошек присваивать id=»название родительского элемента (транслитом)»?

  20. К сожалению, в хлебных крошках не предусмотрены custom taxonomies архивы (отображение подрубрик), а также CPT записи с custom taxonomies.

    Также, стоит заметить, что если используется CPT с стандартными категориями WP, то нужно добавить этот CPT в исключение, чтобы корректно формировать крошки

    elseif ( is_single() && !is_attachment() ) {
                if ($show_home_link) echo $sep;
                if ( get_post_type() != 'post' && get_post_type() != 'cpt_name') {

    Но для большинства случаев из коробки все работает.

    Спасибо!

Ваш комментарий