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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    разместил Ваш скрипт 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') {

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

    Спасибо!

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