Что такое хлебные крошки на сайте wordpress
Перейти к содержимому

Что такое хлебные крошки на сайте wordpress

  • автор:

Как добавить хлебные крошки в WordPress

Навигация является жизненно важной частью любого веб-сайта, и существует несколько способов обеспечить ее. Главное меню на вашем веб-сайте — это основной инструмент навигации, который направляет пользователей к нужному контенту. Однако он не сообщает вашим клиентам, где они сейчас находятся на вашем сайте.

Хостинг и Vps для вашего сайта от GoHost.kz

Меню «хлебных крошек» — это дополнительная система навигации, которая сообщает вашим клиентам, где они находятся по отношению к вашей домашней странице. Это помогает им легко перемещаться по страницам вашего сайта и не заблудиться. В этой статье мы рассмотрим, что такое хлебные крошки и какую пользу они приносят вашему сайту. Затем мы покажем вам, как добавить хлебные крошки на ваш сайт WordPress. Давайте начнем!

Что такое хлебные крошки в WordPress?

Breadcrumbs — это термин, используемый для описания иерархического меню навигации. Этот тип меню включает в себя след ссылок, мало чем отличающийся от следа хлебных крошек, оставленного Гензелем и Гретель: Поскольку многие пользователи не входят на ваш сайт WordPress через домашнюю страницу, навигационная цепочка помогает им понять, где они оказались. Поисковые системы также используют хлебные крошки , чтобы лучше понять иерархию ваших веб-страниц.

Преимущества добавления хлебных крошек

Добавление хлебных крошек WordPress на ваш сайт дает несколько преимуществ. Например, Google любит хлебные крошки, поэтому эта функция может улучшить вашу поисковую оптимизацию (SEO) и привлечь больше посетителей на ваш сайт. Меню «хлебные крошки» также могут снизить показатель отказов , потому что они улучшают взаимодействие с пользователем (UX) вашего сайта. Когда пользователи могут легко перемещаться по вашему сайту, они с большей вероятностью потратят на него время.

Как добавить хлебные крошки в WordPress

Вы можете добавить хлебные крошки на свой сайт WordPress двумя способами. Самый простой способ — использовать плагин WordPress, но вы также можете добавить «хлебные крошки» в файл header.php вашего сайта. Прежде чем использовать какой-либо метод, вы должны создать резервную копию своего веб-сайта на случай, если что-то пойдет не так.

Способ 1: использование плагина

Самый простой способ добавить хлебные крошки в WordPress — использовать плагин для хлебных крошек. Вы можете использовать множество плагинов, включая Breadcrumb NavXT и Yoast SEO : Yoast SEO часто является лучшим вариантом, потому что, скорее всего, это плагин, который уже используется на вашем сайте.

Шаг 1: Загрузите плагин Yoast SEO

Поскольку Yoast — это SEO-плагин, он предлагает широкий спектр функций. Это включает в себя создание и стилизацию навигационной цепочки. Чтобы использовать этот плагин, вам необходимо загрузить его из каталога плагинов WordPress. Вы можете просто перейти на страницу плагинов вашего сайта, ввести в поиск «Yoast SEO» и установить и активировать плагин, как и любой другой.

Шаг 2: Добавьте функцию в файл header.php

После активации плагина вы должны добавить функцию в файл header.php вашего сайта. Чтобы получить доступ к этому файлу, перейдите в «Внешний вид» > «Редактор тем» и выберите файл, чтобы открыть его. Затем добавьте следующий код везде, где вы хотите, чтобы отображалось меню настроек хлебных крошек: if ( function_exists(‘yoast_breadcrumb’) ) yoast_breadcrumb( ‘

‘,’

‘ );
>
?> Как правило, вам нужно поместить этот код в конец вашего файла header.php . Однако вы можете поэкспериментировать с расположением меню, проверяя переднюю часть своего сайта, чтобы увидеть, как выглядит результат. Вы даже можете вместо этого добавить указанную выше функцию в файл single.php или page.php вашей темы, если хотите, чтобы функция хлебных крошек отображалась в другом месте страницы. Просто убедитесь, что вы добавляете его только в одном месте.

Шаг 3. Активируйте поддержку хлебных крошек

Наконец, вам нужно будет активировать поддержку хлебных крошек. В Yoast SEO это означает переход к SEO > Внешний вид в поиске > Хлебные крошки : Просто переключите переключатель в положение «Включено», и все готово! Ваше меню хлебных крошек WordPress будет настроено и готово к использованию.

Метод 2: Кодирование собственных хлебных крошек

Добавление хлебных крошек веб-сайта также можно выполнить вручную с помощью кодирования. Если вы не хотите использовать плагин хлебных крошек, вы можете добавить хлебные крошки без них. Прежде чем вы попытаетесь это сделать, вы можете прочитать о микроданных , чтобы в полной мере использовать SEO-потенциал хлебных крошек WordPress.

Шаг 1: Создайте скелетную функцию

Чтобы добавить хлебные крошки в WordPress вручную, вам нужно создать функцию PHP. Первым шагом в создании этой функции является построение скелета. Вашей скелетной функции потребуется уникальное имя, чтобы избежать конфликтов с другими функциями. function my_breadcrumbs() <
/* Breadcrumbs code will go here */
> Вышеупомянутая функция является скелетом, а остальная часть кода хлебных крошек будет помещена в фигурные скобки.

Шаг 2: Добавьте основные правила

После создания скелета вам нужно будет добавить правила в функцию. Правила должны быть размещены в разделе хлебных крошек: /* Change according to your needs */
$show_on_homepage = 0;
$show_current = 1;
$delimiter = ‘»’;
$home_url = ‘Home’;
$before_wrap = ‘‘;
$after_wrap = ‘
‘; /* Don’t change values below */
global $post;
$home_url = get_bloginfo( ‘url’ ); В приведенных выше правилах обычно используются переменные, поэтому их можно изменить позже. Первые две переменные используют логические значения, где «0» — ложь, а «1» — истина.

Шаг 3: Добавьте оператор if else
Шаг 4: Добавьте функцию в заголовок темы

Как только ваша функция хлебных крошек будет завершена, вы можете добавить ее в файл header.php вашего веб-сайта. Перейдите в «Внешний вид» > «Редактор тем» , чтобы открыть файл, и добавьте функцию в самый конец. Затем сохраните изменения и проверьте меню хлебных крошек нового веб-сайта в интерфейсе. Вы можете продолжать настраивать функцию и ее размещение до тех пор, пока меню не будет выглядеть правильно (или при необходимости отключите навигационную цепочку).

Настройте свой сайт с помощью движка WP

Навигационные меню в виде цепочек помогают посетителям вашего сайта найти нужный путь. Они также облегчают поисковым системам понимание иерархии вашего сайта. Плагин, такой как Yoast SEO, — это самый простой способ добавить хлебные крошки на ваш сайт, но вы также можете закодировать их вручную.

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

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

Особенности функции

  • Отображается полная цепочка ссылок до текущей страницы. Например, если текущая страница находится в рубрике второго уровня, то цепочка будет выглядеть следующим образом: Главная > Рубрика > Подрубрика > Название статьи Во всех решениях, которые я встречал (за исключением плагинов), такая цепочка выглядела вот так: Главная > Подрубрика > Название статьи одно звено потеряно. Аналогично у меня выглядят и «крошки» для страниц. К примеру, для страницы 3-го уровня вложенности цепочка будет такой: Главная > Страница 1-го уровня > Страница 2-го уровня > Страница 3-го уровня
  • «Хлебные крошки» выводятся для следующих типов страниц WordPress-сайта:
    • постраничная навигация с главной страницы (вида site.ru/page/2/ );
    • архив рубрики;
    • архив тега;
    • архив за день;
    • архив за месяц;
    • архив за год;
    • архив автора;
    • произвольный тип записи;
    • страница;
    • пост;
    • результаты поиска;
    • страница с ошибкой 404.

    Функция «Хлебные крошки» для WordPress (обновлено: 03.03.2019)

    /* * "Хлебные крошки" для WordPress * автор: Dimox * версия: 2019.03.03 * лицензия: MIT */ function dimox_breadcrumbs() < /* === ОПЦИИ === */ $text['home'] = 'Главная'; // текст ссылки "Главная" $text['category'] = '%s'; // текст для страницы рубрики $text['search'] = 'Результаты поиска по запросу "%s"'; // текст для страницы с результатами поиска $text['tag'] = 'Записи с тегом "%s"'; // текст для страницы тега $text['author'] = 'Статьи автора %s'; // текст для страницы автора $text['404'] = 'Ошибка 404'; // текст для страницы 404 $text['page'] = 'Страница %s'; // текст 'Страница N' $text['cpage'] = 'Страница комментариев %s'; // текст 'Страница комментариев N' $wrap_before = '
    '; // открывающий тег обертки $wrap_after = '
    '; // закрывающий тег обертки $sep = ' '; // разделитель между "крошками" $before = 'post_parent : ''; $home_link = sprintf( $link, $home_url, $text['home'], 1 ); if ( is_home() || is_front_page() ) < if ( $show_on_home ) echo $wrap_before . $home_link . $wrap_after; >else < $position = 0; echo $wrap_before; if ( $show_home_link ) < $position += 1; echo $home_link; >if ( is_category() ) < $parents = get_ancestors( get_query_var('cat'), 'category' ); foreach ( array_reverse( $parents ) as $cat ) < $position += 1; if ( $position >1 ) echo $sep; echo sprintf( $link, get_category_link( $cat ), get_cat_name( $cat ), $position ); > if ( get_query_var( 'paged' ) ) < $position += 1; $cat = get_query_var('cat'); echo $sep . sprintf( $link, get_category_link( $cat ), get_cat_name( $cat ), $position ); echo $sep . $before . sprintf( $text['page'], get_query_var( 'paged' ) ) . $after; >else < if ( $show_current ) < if ( $position >= 1 ) echo $sep; echo $before . sprintf( $text['category'], single_cat_title( '', false ) ) . $after; > elseif ( $show_last_sep ) echo $sep; > > elseif ( is_search() ) < if ( get_query_var( 'paged' ) ) < $position += 1; if ( $show_home_link ) echo $sep; echo sprintf( $link, $home_url . '?s=' . get_search_query(), sprintf( $text['search'], get_search_query() ), $position ); echo $sep . $before . sprintf( $text['page'], get_query_var( 'paged' ) ) . $after; >else < if ( $show_current ) < if ( $position >= 1 ) echo $sep; echo $before . sprintf( $text['search'], get_search_query() ) . $after; > elseif ( $show_last_sep ) echo $sep; > > elseif ( is_year() ) < if ( $show_home_link && $show_current ) echo $sep; if ( $show_current ) echo $before . get_the_time('Y') . $after; elseif ( $show_home_link && $show_last_sep ) echo $sep; >elseif ( is_month() ) < if ( $show_home_link ) echo $sep; $position += 1; echo sprintf( $link, get_year_link( get_the_time('Y') ), get_the_time('Y'), $position ); if ( $show_current ) echo $sep . $before . get_the_time('F') . $after; elseif ( $show_last_sep ) echo $sep; >elseif ( is_day() ) < if ( $show_home_link ) echo $sep; $position += 1; echo sprintf( $link, get_year_link( get_the_time('Y') ), get_the_time('Y'), $position ) . $sep; $position += 1; echo sprintf( $link, get_month_link( get_the_time('Y'), get_the_time('m') ), get_the_time('F'), $position ); if ( $show_current ) echo $sep . $before . get_the_time('d') . $after; elseif ( $show_last_sep ) echo $sep; >elseif ( is_single() && ! is_attachment() ) < if ( get_post_type() != 'post' ) < $position += 1; $post_type = get_post_type_object( get_post_type() ); if ( $position >1 ) echo $sep; echo sprintf( $link, get_post_type_archive_link( $post_type->name ), $post_type->labels->name, $position ); if ( $show_current ) echo $sep . $before . get_the_title() . $after; elseif ( $show_last_sep ) echo $sep; > else < $cat = get_the_category(); $catID = $cat[0]->cat_ID; $parents = get_ancestors( $catID, 'category' ); $parents = array_reverse( $parents ); $parents[] = $catID; foreach ( $parents as $cat ) < $position += 1; if ( $position >1 ) echo $sep; echo sprintf( $link, get_category_link( $cat ), get_cat_name( $cat ), $position ); > if ( get_query_var( 'cpage' ) ) < $position += 1; echo $sep . sprintf( $link, get_permalink(), get_the_title(), $position ); echo $sep . $before . sprintf( $text['cpage'], get_query_var( 'cpage' ) ) . $after; >else < if ( $show_current ) echo $sep . $before . get_the_title() . $after; elseif ( $show_last_sep ) echo $sep; >> > elseif ( is_post_type_archive() ) < $post_type = get_post_type_object( get_post_type() ); if ( get_query_var( 'paged' ) ) < $position += 1; if ( $position >1 ) echo $sep; echo sprintf( $link, get_post_type_archive_link( $post_type->name ), $post_type->label, $position ); echo $sep . $before . sprintf( $text['page'], get_query_var( 'paged' ) ) . $after; > else < if ( $show_home_link && $show_current ) echo $sep; if ( $show_current ) echo $before . $post_type->label . $after; elseif ( $show_home_link && $show_last_sep ) echo $sep; > > elseif ( is_attachment() ) < $parent = get_post( $parent_id ); $cat = get_the_category( $parent->ID ); $catID = $cat[0]->cat_ID; $parents = get_ancestors( $catID, 'category' ); $parents = array_reverse( $parents ); $parents[] = $catID; foreach ( $parents as $cat ) < $position += 1; if ( $position >1 ) echo $sep; echo sprintf( $link, get_category_link( $cat ), get_cat_name( $cat ), $position ); > $position += 1; echo $sep . sprintf( $link, get_permalink( $parent ), $parent->post_title, $position ); if ( $show_current ) echo $sep . $before . get_the_title() . $after; elseif ( $show_last_sep ) echo $sep; > elseif ( is_page() && ! $parent_id ) < if ( $show_home_link && $show_current ) echo $sep; if ( $show_current ) echo $before . get_the_title() . $after; elseif ( $show_home_link && $show_last_sep ) echo $sep; >elseif ( is_page() && $parent_id ) < $parents = get_post_ancestors( get_the_ID() ); foreach ( array_reverse( $parents ) as $pageID ) < $position += 1; if ( $position >1 ) echo $sep; echo sprintf( $link, get_page_link( $pageID ), get_the_title( $pageID ), $position ); > if ( $show_current ) echo $sep . $before . get_the_title() . $after; elseif ( $show_last_sep ) echo $sep; > elseif ( is_tag() ) < if ( get_query_var( 'paged' ) ) < $position += 1; $tagID = get_query_var( 'tag_id' ); echo $sep . sprintf( $link, get_tag_link( $tagID ), single_tag_title( '', false ), $position ); echo $sep . $before . sprintf( $text['page'], get_query_var( 'paged' ) ) . $after; >else < if ( $show_home_link && $show_current ) echo $sep; if ( $show_current ) echo $before . sprintf( $text['tag'], single_tag_title( '', false ) ) . $after; elseif ( $show_home_link && $show_last_sep ) echo $sep; >> elseif ( is_author() ) < $author = get_userdata( get_query_var( 'author' ) ); if ( get_query_var( 'paged' ) ) < $position += 1; echo $sep . sprintf( $link, get_author_posts_url( $author->ID ), sprintf( $text['author'], $author->display_name ), $position ); echo $sep . $before . sprintf( $text['page'], get_query_var( 'paged' ) ) . $after; > else < if ( $show_home_link && $show_current ) echo $sep; if ( $show_current ) echo $before . sprintf( $text['author'], $author->display_name ) . $after; elseif ( $show_home_link && $show_last_sep ) echo $sep; > > elseif ( is_404() ) < if ( $show_home_link && $show_current ) echo $sep; if ( $show_current ) echo $before . $text['404'] . $after; elseif ( $show_last_sep ) echo $sep; >elseif ( has_post_format() && ! is_singular() ) < if ( $show_home_link && $show_current ) echo $sep; echo get_post_format_string( get_post_format() ); >echo $wrap_after; > > // end of dimox_breadcrumbs()

    Функцию необходимо поместить в файл functions.php вашей WordPress-темы. После этого в то место шаблона, где хотите выводить «хлебные крошки», добавьте следующий код:

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

    Хлебные крошки в WordPress

    Хлебные крошки в WordPress

    Очень большое количество людей создают блоги или сайты на WordPress, где имеет место быть один интересный и уникальный в своем роде плагин, позволяющий ввести и подключить на Ваш персональный сайт «Хлебные кроши», о которых сегодня мы Вам расскажем.

    Точное название этого плагина — BreadcrumbNavXT. Данный плагин существует и работает на всяческих сайтах и разных блогах и вот почему, если говорить конкретно: он крайне прости в настройках и быстро работает. На настройку этой находки Вы затратите скорее всего менее 10-ти минут Вашей жизни.

    На этом сайте Вам удастся без особых усилий научиться установке плагина Хлебных крошек BreadcrumbNavXT.

    1. Скачать данный плагин можно здесь.
    2. После скачивания установите плагин BreadcrumbNavXT на свой сайт или блог.
    3. После того, как вы установили — предлагаем перейти к настройки плагина BreadcrumbNavXT.

    Два первых пункта не должны доставить Вам много хлопот. Последний же пункт мы рассмотрим более скрупулезно. После проделанной Вами операции — установки плагина BreadcrumbNavXT в WordPress, обратитесь к настройкам и ознакомьтесь с ними подробным образом.

    настройка Хлебных крошек в WordPress

    Мы представляем вам важнейшие и узловые настройки плагина Хлебных крошек.

    Разберем и проанализируем важные настройки плагина BreadcrumbNavXT:

    • разделитель, изолирующий одни заголовки от других в меню навигации;
    • краткость заголовка возможно ограничивать в длине;
    • обратите внимание — последний из всех заголовков в данном плагине не является ссылкой, он всего лишь текст. Координируется это с помощью галочки на скриншоте под цифрой три;
    • если Вы отметили галочкой последний заголовок, тогда в начале навигационного меню у Вас постоянно будет присутствовать ссылка на Вашу основную — главную страницу.

    настройка Хлебных крошек в WordPress

    Настройки для записей и для страниц.

    Для начала следует перейти на вкладку, которая называется «Записи и страницы», как можно наблюдать на скриншоте. В этом месте необходимо заострить внимание на предлагаемые нами Вам параметры:

    • с помощью плагина Хлебные крошки каждый может настроить стандарт ссылок, что называется «под себя»;
    • В «иерархию записи» входят заголовки, которые будет видно в Хлебных крошках. Этот вид отмечают для себя и выбирают большинство современных блогеров.

    Такие же точно настройки соответствуют для страниц. Обычно эти настройки уже зафиксированы и после скачивания и активизации плагина на вашем сайте должны возникнуть установленные Хлебные крошки.

    Что делать, если плагин Хлебных крошек не заработал?

    Если Вы скачали, установили и активизировали плагин BreadcrumbNavXT, а хлебные крошки не отобразились, то сперва давайте разбираться с этим казусом. Обычно причиной является скорее всего тема WordPress, скаченная Вами бесплатная или некачественная, и как следствие этого – в этой программе плагин Хлебные крошки не предусмотрены. Все это поправимо! Чтобы избавиться от данной проблемы нужно зайти в редактор шаблона внешнего вида. Далее откройте шаблон, который используется темой для отражения записи.

    В данный шаблон следует вставить определенный блок кода:

    настройка Хлебных крошек в WordPress

    В конце концов у Вас должно получиться следующее:

    Вставка кода плагина BreadcrumbNavXT

    Необходимо сохранить все изменения, после чего предлагаем Вам открыть на Вашем блоге какую угодно статью. Наверху этой статьи появятся так называемые хлебные крошки. Если так оно и есть- следовательно, Вы произвели всю операцию правильно. Можно поиграть со стилями, чтобы все хорошо вписывались в дизайн Вашего блога.

    Обратите внимание!

    Хлебные крошки могут быть отображены не на всех страницах сайта, потому что мы помогли отредактировать Вам всего лишь один тематический шаблон — single.php. Следовательно, хлебные крошки выявляются только на страницах записей.

    Чтобы плагин заработал на остальных страницах, Вам следует отредактировать шаблон таким же методом, как мы советовали выше.

    Хлебные крошки на сайте WordPress: как создать и настроить

    Хлебные крошки (breadcrumbs) — это элемент навигации страницы, который показывает цепочку ссылок от главной до текущей страницы, которую просматривает пользователь.

    Хлебные крошки помогают посетителю легко сориентироваться по сайту и в любой момент перейти на несколько уровней выше, а поисковым системам — распределить ссылочный вес по страницам и разобраться в структуре сайта.

    По умолчанию WordPress не дает вывести и настроить хлебные крошки — за такие аспекты обычно отвечают темы, специальные плагины или скрипты. Рассказываем, как добавить хлебные крошки на сайт на WordPress.

    Настройка через плагин YoastSEO

    Один из самых простых способов создать крошки на сайте — использовать плагин YoastSEO. Его легко настраивать, при этом плагин умеет оптимизировать для SEO весь сайт — например, задавать шаблоны метатегов, настраивать ЧПУ, редактировать robots.txt и многое другое.

    Чтобы создать и настроить хлебные крошки с помощью плагина YoastSEO, понадобится выполнить следующие шаги.

    1. Перейдите в раздел Плагины → Добавить новый в консоли WordPress.
    2. Введите в поиск название плагина Yoast SEO. Нажмите «Установить».
    3. После установки плагина нажмите «Активировать».
    4. Перейдите в раздел Yoast SEO → Отображение в поисковых системах в консоли WordPress. Выберите вкладку «Цепочки навигации». Настройте отображение хлебных крошек.
    5. После выбора всех настроек нажмите на кнопку «Сохранить изменения».
    6. Перейдите в раздел Внешний вид → Редактор тем.
    7. Вставьте следующий код в шаблон header.php между
    if ( function_exists(‘yoast_breadcrumb’) )

    1. Нажмите на кнопку «Обновить файл».

    Если вы хотите, чтобы хлебные крошки отображались только на страницах определенных типов, например, только в постах, вместо header.php код можно вставить в конкретный шаблон. page.php обычно отвечает за статические страницы сайта, а single.php — за посты.

    В разных темах используются разные шаблоны страниц и их частей. Если вы не понимаете, куда вставить код вывода хлебных крошек в такой теме — проще всего связаться с ее разработчиком и уточнить.

    С помощью плагина Breadcrumb NavXT

    Один из самых популярных плагинов для создания хлебных крошек — Breadcrumb NavXT. Он отличается от конкурентов тем, что с его помощью вы легко можете настраивать вид хлебных крошек и задавать отдельные шаблоны вывода для разных типов страниц.

    1. Установите и активируйте плагин Breadcrumb NavXT по аналогии с пунктами 1-3 выше.
    2. Расположите через редактор тем следующий код в header.php между :
    if(function_exists('bcn_display')) < bcn_display();

    Чтобы настроить внешний вид хлебных крошек, перейдите в раздел Плагины → Установленные, найдите Breadcrumb NavXT и нажмите «Настройки». Здесь вы сможете настроить разделители, отображение страниц в постраничной навигации, шаблоны ссылок и многое другое.

    Настроить плагином Breadcrumb

    Вывести хлебные крошки в WordPress можно с помощью плагина Breadcrumb: он легковесный, быстро загружается, и предлагает несколько стилей ссылок на выбор — а еще вы можете настроить свои.

    Чтобы настроить вывод крошек через этот плагин, установите его по аналогии с предыдущими пунктами и вставьте следующий код через редактор тем в шаблон header.php:

    echo do_shortcode ("[breadcrumb]");

    После этого вы сможете настроить внешний вид крошек в разделе Breadcrumb в главном меню консоли WordPress.

    Кроме этого, вы можете настроить шаблон вывода цепочки навигации для каждого типа страницы в отдельности. Для этого просто кликайте по соответствующим тегам в том порядке, в котором хотите их видеть на страницах.

    Хлебные крошки через bbPress

    Плагин форумов для WordPress bbPress умеет выводить хлебные крошки, но только для самого форума и тем. Если вы создаете форум, рекомендуем использовать именно эти встроенные крошки на сайте — они грамотно отображают структуру.

    Они включены по умолчанию, но могут не отображаться, если конфликтуют с темой или другими плагинами — чаще всего это происходит из-за включенной цепочки навигации в Yoast SEO.

    Создание хлебных крошек без плагина

    Чтобы создать цепочку навигации без использования плагинов, придется внести изменения в functions.php вашей темы. Будьте осторожны: при обновлении темы этот код удалится, поэтому любые изменения лучше проводить на дочерней теме.

    Чтобы отредактировать functions.php, перейдите в раздел Внешний вид → Редактор тем и найдите его в списке файлов. Вставьте код функции и обновите файл.

    Вот пример кода для вывода хлебных крошек от dimox.name:

    /* * "Хлебные крошки" для WordPress * автор: Dimox * версия: 2019.03.03 * лицензия: MIT */ function dimox_breadcrumbs() < /* === ОПЦИИ === */ $text['home'] = 'Главная'; // текст ссылки "Главная" $text['category'] = '%s'; // текст для страницы рубрики $text['search'] = 'Результаты поиска по запросу "%s"'; // текст для страницы с результатами поиска $text['tag'] = 'Записи с тегом "%s"'; // текст для страницы тега $text['author'] = 'Статьи автора %s'; // текст для страницы автора $text['404'] = 'Ошибка 404'; // текст для страницы 404 $text['page'] = 'Страница %s'; // текст 'Страница N' $text['cpage'] = 'Страница комментариев %s'; // текст 'Страница комментариев N' $wrap_before = '
    '; // открывающий тег обертки $wrap_after = '
    '; // закрывающий тег обертки $sep = ' '; // разделитель между "крошками" $before = ''; // тег перед текущей "крошкой" $after = ''; // тег после текущей "крошки" $show_on_home = 0; // 1 - показывать "хлебные крошки" на главной странице, 0 - не показывать $show_home_link = 1; // 1 - показывать ссылку "Главная", 0 - не показывать $show_current = 1; // 1 - показывать название текущей страницы, 0 - не показывать $show_last_sep = 1; // 1 - показывать последний разделитель, когда название текущей страницы не отображается, 0 - не показывать /* === КОНЕЦ ОПЦИЙ === */ global $post; $home_url = home_url('/'); $link = ''; $link .= '%2$s'; $link .= ''; $link .= ''; $parent_id = ( $post ) ? $post->post_parent : ''; $home_link = sprintf( $link, $home_url, $text['home'], 1 ); if ( is_home() || is_front_page() ) < if ( $show_on_home ) echo $wrap_before . $home_link . $wrap_after; >else < $position = 0; echo $wrap_before; if ( $show_home_link ) < $position += 1; echo $home_link; >if ( is_category() ) < $parents = get_ancestors( get_query_var('cat'), 'category' ); foreach ( array_reverse( $parents ) as $cat ) < $position += 1; if ( $position >1 ) echo $sep; echo sprintf( $link, get_category_link( $cat ), get_cat_name( $cat ), $position ); > if ( get_query_var( 'paged' ) ) < $position += 1; $cat = get_query_var('cat'); echo $sep . sprintf( $link, get_category_link( $cat ), get_cat_name( $cat ), $position ); echo $sep . $before . sprintf( $text['page'], get_query_var( 'paged' ) ) . $after; >else < if ( $show_current ) < if ( $position >= 1 ) echo $sep; echo $before . sprintf( $text['category'], single_cat_title( '', false ) ) . $after; > elseif ( $show_last_sep ) echo $sep; > > elseif ( is_search() ) < if ( get_query_var( 'paged' ) ) < $position += 1; if ( $show_home_link ) echo $sep; echo sprintf( $link, $home_url . '?s=' . get_search_query(), sprintf( $text['search'], get_search_query() ), $position ); echo $sep . $before . sprintf( $text['page'], get_query_var( 'paged' ) ) . $after; >else < if ( $show_current ) < if ( $position >= 1 ) echo $sep; echo $before . sprintf( $text['search'], get_search_query() ) . $after; > elseif ( $show_last_sep ) echo $sep; > > elseif ( is_year() ) < if ( $show_home_link && $show_current ) echo $sep; if ( $show_current ) echo $before . get_the_time('Y') . $after; elseif ( $show_home_link && $show_last_sep ) echo $sep; >elseif ( is_month() ) < if ( $show_home_link ) echo $sep; $position += 1; echo sprintf( $link, get_year_link( get_the_time('Y') ), get_the_time('Y'), $position ); if ( $show_current ) echo $sep . $before . get_the_time('F') . $after; elseif ( $show_last_sep ) echo $sep; >elseif ( is_day() ) < if ( $show_home_link ) echo $sep; $position += 1; echo sprintf( $link, get_year_link( get_the_time('Y') ), get_the_time('Y'), $position ) . $sep; $position += 1; echo sprintf( $link, get_month_link( get_the_time('Y'), get_the_time('m') ), get_the_time('F'), $position ); if ( $show_current ) echo $sep . $before . get_the_time('d') . $after; elseif ( $show_last_sep ) echo $sep; >elseif ( is_single() && ! is_attachment() ) < if ( get_post_type() != 'post' ) < $position += 1; $post_type = get_post_type_object( get_post_type() ); if ( $position >1 ) echo $sep; echo sprintf( $link, get_post_type_archive_link( $post_type->name ), $post_type->labels->name, $position ); if ( $show_current ) echo $sep . $before . get_the_title() . $after; elseif ( $show_last_sep ) echo $sep; > else < $cat = get_the_category(); $catID = $cat[0]->cat_ID; $parents = get_ancestors( $catID, 'category' ); $parents = array_reverse( $parents ); $parents[] = $catID; foreach ( $parents as $cat ) < $position += 1; if ( $position >1 ) echo $sep; echo sprintf( $link, get_category_link( $cat ), get_cat_name( $cat ), $position ); > if ( get_query_var( 'cpage' ) ) < $position += 1; echo $sep . sprintf( $link, get_permalink(), get_the_title(), $position ); echo $sep . $before . sprintf( $text['cpage'], get_query_var( 'cpage' ) ) . $after; >else < if ( $show_current ) echo $sep . $before . get_the_title() . $after; elseif ( $show_last_sep ) echo $sep; >> > elseif ( is_post_type_archive() ) < $post_type = get_post_type_object( get_post_type() ); if ( get_query_var( 'paged' ) ) < $position += 1; if ( $position >1 ) echo $sep; echo sprintf( $link, get_post_type_archive_link( $post_type->name ), $post_type->label, $position ); echo $sep . $before . sprintf( $text['page'], get_query_var( 'paged' ) ) . $after; > else < if ( $show_home_link && $show_current ) echo $sep; if ( $show_current ) echo $before . $post_type->label . $after; elseif ( $show_home_link && $show_last_sep ) echo $sep; > > elseif ( is_attachment() ) < $parent = get_post( $parent_id ); $cat = get_the_category( $parent->ID ); $catID = $cat[0]->cat_ID; $parents = get_ancestors( $catID, 'category' ); $parents = array_reverse( $parents ); $parents[] = $catID; foreach ( $parents as $cat ) < $position += 1; if ( $position >1 ) echo $sep; echo sprintf( $link, get_category_link( $cat ), get_cat_name( $cat ), $position ); > $position += 1; echo $sep . sprintf( $link, get_permalink( $parent ), $parent->post_title, $position ); if ( $show_current ) echo $sep . $before . get_the_title() . $after; elseif ( $show_last_sep ) echo $sep; > elseif ( is_page() && ! $parent_id ) < if ( $show_home_link && $show_current ) echo $sep; if ( $show_current ) echo $before . get_the_title() . $after; elseif ( $show_home_link && $show_last_sep ) echo $sep; >elseif ( is_page() && $parent_id ) < $parents = get_post_ancestors( get_the_ID() ); foreach ( array_reverse( $parents ) as $pageID ) < $position += 1; if ( $position >1 ) echo $sep; echo sprintf( $link, get_page_link( $pageID ), get_the_title( $pageID ), $position ); > if ( $show_current ) echo $sep . $before . get_the_title() . $after; elseif ( $show_last_sep ) echo $sep; > elseif ( is_tag() ) < if ( get_query_var( 'paged' ) ) < $position += 1; $tagID = get_query_var( 'tag_id' ); echo $sep . sprintf( $link, get_tag_link( $tagID ), single_tag_title( '', false ), $position ); echo $sep . $before . sprintf( $text['page'], get_query_var( 'paged' ) ) . $after; >else < if ( $show_home_link && $show_current ) echo $sep; if ( $show_current ) echo $before . sprintf( $text['tag'], single_tag_title( '', false ) ) . $after; elseif ( $show_home_link && $show_last_sep ) echo $sep; >> elseif ( is_author() ) < $author = get_userdata( get_query_var( 'author' ) ); if ( get_query_var( 'paged' ) ) < $position += 1; echo $sep . sprintf( $link, get_author_posts_url( $author->ID ), sprintf( $text['author'], $author->display_name ), $position ); echo $sep . $before . sprintf( $text['page'], get_query_var( 'paged' ) ) . $after; > else < if ( $show_home_link && $show_current ) echo $sep; if ( $show_current ) echo $before . sprintf( $text['author'], $author->display_name ) . $after; elseif ( $show_home_link && $show_last_sep ) echo $sep; > > elseif ( is_404() ) < if ( $show_home_link && $show_current ) echo $sep; if ( $show_current ) echo $before . $text['404'] . $after; elseif ( $show_last_sep ) echo $sep; >elseif ( has_post_format() && ! is_singular() ) < if ( $show_home_link && $show_current ) echo $sep; echo get_post_format_string( get_post_format() ); >echo $wrap_after; > > // end of dimox_breadcrumbs()

    После того, как вы сохраните изменения, добавьте следующий код в файл header.php:

    if ( function_exists( 'dimox_breadcrumbs' ) ) dimox_breadcrumbs();

    Популярные шаблоны со встроенными хлебными крошками

    А самый простой способ настроить хлебные крошки — установить тему, в которой они уже реализованы, грамотно настроены и вписываются в общий дизайн.

    HESTIA

    Тема отлично подходит для блогов и интернет-магазинов. Быстрая, минималистичная, современная тема.

    Reboot

    Быстрая и хорошо оптимизированная для SEO тема с удобным конструктором главной страницы.

    Astra

    В теме больше 100 шаблонов для разных типов сайтов. Отлично оптимизирована для поисковых систем.

    Root

    Качественно проработанная тема российских разработчиков. Большой упор на SEO-оптимизацию и кастомизацию.

    Резюме

    1. Хлебными крошками (breadcrumbs) называют элемент навигации сайта в форме цепочки ссылок от главной страницы до текущей.
    2. Хлебные крошки помогают улучшить навигацию по сайту и индексацию поисковыми системами.
    3. По умолчанию WordPress не создает хлебные крошки.
    4. Чтобы создать хлебные крошки на сайте WordPress, можно воспользоваться специальными плагинами — Breadcrumbs, Breadcrumbs NavXT, Yoast SEO.
    5. Или использовать готовый код для вывода крошек без плагинов.
    6. Во многих SEO-оптимизированных темах для WordPress хлебные крошки выводятся без дополнительных настроек.

    Анита Арико

    Автор, копирайтер, интернет-маркетолог. За 6 лет в сфере побывала по обе стороны баррикад — работала со сторон и подрядчиков, и заказчиков. Пишу об интернет-маркетинге на языке предпринимателей.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *