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

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

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

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

  2. 2
    Евгений

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

  3. 4
    Петр
    @

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

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

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

  5. 7
    Сергей

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

    • 8

      Не хватает свойства position. Раньше код был валидным без него, теперь, видимо, что-то поменялось.

      Добавить его в функцию не представляется возможным, к сожалению.

    • 9
      Евгений
      @

      Добрый день, всем. На самом деле потратив ночь, мне удалось исправить — дополнить данный плагин. Position — работает. + еще добавил рекомендации от сео студии. Так что реально все.
      Кому интересно пишите мой скайп tg-chernovol, а лучше в telegram +380 098 523 10 78

  1. 1
    DH

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

    } elseif ( is_tax() ) {
     if ($show_home_link && $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».

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