adminvps

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

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

Полезные комментарии (2)
Комментарии (617)
  1. 1
    Алексей

    И сразу еще один вопрос, если по тегам можно выводить, то можно сделать так, чтобы выводился не один тег, а три. Дело в том, что у меня почти каждая статья привязана к трем тегам. Еще раз спасибо!

  2. 2
    Евгений

    А никого за столько лет не смутило, что микроразметка неверно сделана? Размечается только первый элемент (главная), дальше wrap_before и wrap_after не используются

  3. 4
    Петр
    @

    Null возвращает.. что может быть не так?

  4. 6
    Женя Домаскин
    @

    Каким образом можно убрать рубрики с данных крошек.

  5. 7
    Сергей

    Валидатор микроразметки в Google показывает ошибку, чего-то не хватает.

  6. 10
    Денис

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

  7. 12
    Павел
    @

    Здравствуйте!
    Как-то можно исключить вложенные категории из цепочки?
    Сейчас выводится как site.ru/cat/podcat, а нужно site.ru/cat

  8. 14

    Функция обновлена. Добавлен тег <meta itemprop="position" content="" />, и теперь в инструменте проверки структурированных данных Гугла ошибок нет.

  9. 15
    @

    Помогите убрать родительскую категорию и оставить только подкатегории

  10. 16
    иван

    здравствуйте, подскажите как сделать чтобы отображался шоткод [year] в крошках, в title он нормально год отображает 2018 например, а в крошках так и остается [year]

  11. 17
    Pervect
    @

    Здравствуйте!
    Великолепно реализованная логика. Работает «из коробки» и результат получается вполне ожидаемый.

    Но встал вопрос: вывод крошек по вашему способу осуществляется по схеме: div-span-span

    Есть ли возможность выводить в логике Бутстрапа (UL-LI c cообразными стилями?)
    То есть:
    1) Обертка
    2) Элементы вида Чего-то там
    3) Активная крошка вида Rome

  12. 21
    Ильяс
    @

    А с произвольной таксономией эта версия не работает? Старая 2017 года работала, как быть?

  13. 25

    Поддерживаются ли крошки в woocommerce?

  14. 27
    Павел
    @

    Столкнулся с такой проблемой: если название рубрики начинается с русской буквы С, то данная рубрика в цепочке навигации не выводится. Если заменить её на любую другую или латинскую C, то всё работает. С чем это может быть связно, куда копать?

    • 28
      Павел
      @

      Хотя нет… Как-то рандомно рубрики выводятся. Часть слов в цепочке появляется, а часть нет. Например, если рубрика называется «архитектор», то выводится, если «строитель», то нет её. Логики не вижу, только сижу синонимы подбираю, какие-то выводятся, какие-то нет…

  15. 30
    Владимир
    @
    <a class="breadcrumbs__link" href="%1$s" itemprop="item"><span itemprop="name">%2$s</span></a>

    Как здесь в выводе %2$s убрать теги (а то у меня встречаются в названии страниц)

  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».

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