adminvps

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

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

Полезные комментарии (2)
Комментарии (619)
  1. 1
    smedvedev

    Добрый день! Подскажите, как убрать ссылку на категорию.. чтобы в в хлеб крошке была активная ссылка только на Главную, а рубрики были без гипер ссылки.
    Спасибо!

  2. 3
    Андрей

    Здравствуйте, как добавить сюда — #ссылка — текущую ссылку страницы? Спасибо

     'title_patt' => '<span itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem">
     <span class="kb_title" itemprop="name">%s</span>
     <div itemprop="item" itemscope="" itemtype="http://schema.org/Thing">
     <meta itemprop="url" content="#ссылка">
     </div>
     </span>',
    
  3. 5
    Здарова

    Спс за скрипт. На удивление все сработало с первого раза. У меня такое редко бывает.

  4. 6
    Елена

    Спасибо за код! Все сработает

  5. 7
    @

    Спасибо большое, очень помогло!

  6. 8
    @

    Еще один вопрос, как этот код научить дружить с многоязычностью, плагин polylang? Спасибо большое

  7. 10
    Андрей

    Отличный Скрипт. Спасибо. А такой вопрос, не отображается суб категория (скрин) https://prnt.sc/haoykb . Разделитель есть (разделитель |). А внутри ничего, ни ссылки , ни тайтла. Это же не нормально?
    И еще ваш скрипт нормально работает с кастомными таксономиями?

  8. 12
    Александр

    Добрый день!
    Давно использую Ваши хлебные крошки, спасибо за работу!
    Подскажите, а можно ли их использовать в виде кода php ?
    Поясню. Дело в том, что моя тема поддерживает хуки (вставки php кода в нужные части), и я вставляю туда код а код самих крошек, как Вы и советуете, вставляю внутри функций темы.
    Но можно ли вставлять не этот код, а сразу код самих крошек? Как тогда нужно оформить его? Какие где кавычки поставить и прочее. Просто копирование и вставка как сейчас не работает (в коде ничего не понимаю).

  9. 14
    @

    Добавили ваш код, спасибо, всё круто! Однако есть небольшая проблема: если запись помещена в подрубрику основной рубрики, то на странице записи в крошках отсутствует подрубрика (то есть, идёт так — Рубрика — Запись). С чем это может быть связано?

  10. 16
    Максим

    Здравствуйте, пользуюсь вашим кодом, все круто, спасибо вам! есть вопрос как его адаптировать что бы получать крошки в таком виде
    http://joxi.ru/E2pM5olH9LQwMA
    А именно интересует кусок подчеркнуто красным Заранее спасибо.

  11. 18
    Bujhm

    Заработало с полпинка. Ещё в CSS поковыряться и будет совсем хорошо. Спасибо!

  12. 19

    Здравствуйте.
    Все работает, только убрал показывать название текущей страницы.
    Где длинные названия страниц, выглядит не очень красиво.
    Спасибо за ваш код.

  13. 20
    Виталий

    Спасибо большое за потраченное время и найденное решение! Удачи вам!

  14. 21

    Ужасный код. Хорош разве что под копипаст.

  15. 22
    Артур Захаров
    @

    Привет! Все очень здорово, но я не могу решить такую проблему. Крошки в посте. Если структура такова Home -> Mediacenter -> Blog -> Post, то хлебные крошки не выводят Mediacenter? Каким образом это можно исправить?

  16. 28
    Александр

    СПАСИБО!!!! Всё работает!!!

  17. 29
    Дмитрий

    Здравствуйте. Спасибо за функцию.
    А планируется к элементам хлебных крошек добавлять

    <meta itemprop="position" content="..." />

    , как это указано в спецификации http://schema.org/BreadcrumbList

  18. 31
    Елена

    Огромное спасибо! Все получилось так как надо на WordPress 4.9.5!!!

  19. 32
    fish2k

    Отличная работа, спасибо!

  20. 33
    Алексей

    Здравствуйте! Подскажите пожалуйста как сделать, чтобы выводились крошки не только по категориям, но и по тегам, или только по тегам без категорий. Заранее спасибо!

  1. 1
    DH

    Для таксономий добавьте:

    } elseif ( is_tax() ) {
     if ($show_home_link &amp;&amp; $show_current) echo $sep;
     $term = get_queried_object();
     if ( $term ) {
     $tax = get_taxonomy( $term->taxonomy );
     $title = single_term_title( $tax->labels->name. ': ', false );
     echo $title;
     }
    

    где-нибудь перед

    } elseif ( is_day() ) {
  2. 2

    Замените эти строки:

    if ( get_query_var('cpage') ) {
    	echo $sep . sprintf($link, get_permalink(), get_the_title()) . $sep . $before . sprintf($text['cpage'], get_query_var('cpage')) . $after;
    } else {
    	if ($show_current) echo $before . get_the_title() . $after;
    }
    

    на такие:

    $title = get_the_title();
    $title_custom = get_post_meta(get_the_ID(), 'title', true);
    if ($title_custom) $title = $title_custom;
    if ( get_query_var('cpage') ) {
    	echo $sep . sprintf($link, get_permalink(), $title) . $sep . $before . sprintf($text['cpage'], get_query_var('cpage')) . $after;
    } else {
    	if ($show_current) echo $before . $title . $after;
    }
    

    Заголовок указывается через произвольное поле с именем «title».

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