Хлебные крошки wordpress: Как Добавить Хлебные Крошки в WordPress: Пошаговое Руководство
Содержание
Как сделать хлебные крошки на сайте WordPress
Хлебные крошки — это способ навигации, который показывает ваше текущее расположение на сайте и путь, по которому к нему можно попасть, начиная с главной страницы.
В этом уроке расскажу, как сделать правильные хлебные крошки на сайте WordPress без плагинов.
Для того, чтобы добавить хлебные крошки на сайт на WordPress вам не нужен специальный плагин «хлебные крошки», не нужно самому долго и мучительно придумывать как «сделать» хлебные крошки на сайте, играясь с условными тегами WordPress, а достаточно скопировать и вставить эту строчку в то место в шаблоне, куда вам нужно.
Понятно, что не спешите сохранять файл (особенно не на тестовом сайте), ведь этой функции у вас сейчас нет и вы столкнётесь с ошибкой 500.
Функция хлебных крошек
Теперь распишем саму функцию, сразу говорю, готовьтесь, что будет много кода.
Дело в том, что я выкладываю полностью законченный и 100% рабочий вариант. Здесь учтены все типы страниц, которые только могут быть на WordPress: посты, страницы, вложенные страницы(поддерживается любое количество уровней вложенности), рубрики, подрубрики (неограниченное количество вложений), теги, архивы, страницы поиска, страницы с записями какого-либо одного автора.
Также отображается номер текущей страницы, что тоже довольно полезно.
Давайте сначала начнём с относительно несложного варианта хлебных крошек, и чуть ниже в этом же уроке я вам расскажу, как их модифицировать под какую-то свою определённую задачу. Для начала добавьте этот код functions.php
:
function true_breadcrumbs(){ // получаем номер текущей страницы $page_num = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; $separator = ' / '; // разделяем обычным слэшем, но можете чем угодно другим // если главная страница сайта if( is_front_page() ){ if( $page_num > 1 ) { echo '<a href="' . site_url() . '">Главная</a>' . $separator . $page_num . '-я страница'; } else { echo 'Вы находитесь на главной странице'; } } else { // не главная echo '<a href="' . site_url() . '">Главная</a>' . $separator; if( is_single() ){ // записи the_category( ', ' ); echo $separator; the_title(); } elseif ( is_page() ){ // страницы WordPress the_title(); } elseif ( is_category() ) { single_cat_title(); } elseif( is_tag() ) { single_tag_title(); } elseif ( is_day() ) { // архивы (по дням) echo '<a href="' . get_year_link( get_the_time( 'Y' ) ) . '">' . get_the_time( 'Y' ) . '</a>' . $separator; echo '<a href="' . get_month_link( get_the_time( 'Y' ), get_the_time( 'm' ) ) . '">' . get_the_time( 'F' ) . '</a>' . $separator; echo get_the_time('d'); } elseif ( is_month() ) { // архивы (по месяцам) echo '<a href="' . get_year_link( get_the_time( 'Y' ) ) . '">' . get_the_time( 'Y' ) . '</a>' . $separator; echo get_the_time('F'); } elseif ( is_year() ) { // архивы (по годам) echo get_the_time( 'Y' ); } elseif ( is_author() ) { // архивы по авторам global $author; $userdata = get_userdata( $author ); echo 'Опубликовал(а) ' . $userdata->display_name; } elseif ( is_404() ) { // если страницы не существует echo 'Ошибка 404'; } if ( $page_num > 1 ) { // номер текущей страницы echo ' (' . $page_num . '-я страница)'; } } }
4
– при помощи get_query_var() мы определяем, находимся ли мы на странице постраничной навигации, знаю, что это можно сделать при помощи is_paged(), но нам же ведь ещё и номер страницы понадобится.6
– разделитесь между ссылками в хлебных я решил записать в переменную, вы можете использовать что угодно, например стрелки →→
, запись его в переменную позволит нам быстро его поменять, если захотим.9
– функция, а точнее условный тег is_front_page() возвращаетtrue
, если мы находимся на главной странице, вне зависимости от того, какую роль она выполняет.12
,19
– функция site_url() динамически возвращает ссылку на главную страницу сайта.- is_single(), is_page(), is_category(), is_tag(), is_day(), is_month(), is_year(), is_author(), is_404() – различные условные теги, позволяющие легко определить, на каком типе страницы мы в данный момент находимся.
25
– я использовал функцию the_category() для вывода списка рубрик для текущей записи через запятую. Обратите внимание, что эта функция не распределяет рубрики в зависимости от их иерархии. О том, как вывести их с соблюдением порядка иерархии, читайте ниже.25
,29
– функция the_title() отлично подходит для того, чтобы вывести заголовок текущей записи, страницы или записи произвольного типа.- single_cat_title() и single_tag_title() – для вывода название текущей рубрики или метки соответственно.
Как в хлебные крошки добавить родительские страницы?
Возможно вы заметили, что Страницы WordPress – это иерархичный тип записи, другими словами – Страница может иметь дочерние страницы, причем несколько штук и нескольких уровней.
Это можно хорошо наблюдать в метабоксе Атрибуты страницы:
Если вы планируете отображать в своих хлебных крошках родительские страницы тоже, то вам нужно немного модифицировать соответствующие строчки в коде выше:
global $post; // если у текущей страницы существует родительская if ( $post->post_parent ) { $parent_id = $post->post_parent; // присвоим в переменную $breadcrumbs = array(); while ( $parent_id ) { $page = get_page( $parent_id ); $breadcrumbs[] = '<a href="' . get_permalink( $page->ID ) . '">' . get_the_title( $page->ID ) . '</a>'; $parent_id = $page->post_parent; } echo join( $separator, array_reverse( $breadcrumbs ) ) . $separator; }
То есть вставляете этот код на 27-й строчке ничего не удаляя из первоначального кода.
Как в хлебных крошках вывести родительские рубрики WordPress с учётом иерархии?
В архивах рубрик
Тут ситуация похожа на ситуацию со страницами, но проще, так как существует функция get_category_parents().
$current_cat = get_queried_object(); // если родительская рубрика существует if( $current_cat->parent ) { echo get_category_parents( $current_cat->parent, true, $separator ) . $separator; }
На страницах записей
Как я уже написал выше, наша функция the_category() не справляется с тем, чтобы вывести рубрики с учетом их иерархичности. Давайте попробуем разобраться, что с этим можно поделать.
Тут есть некоторые тонкости, но смотрите, есть очень классный способ, как можно это всё разрулить!
Прежде всего, обратите внимание, как вы добавляете пост в категории. Нам подходит:
Не подходит:
После этого можно спокойно использовать функцию get_category_parents():
$post_categories = get_the_category(); // это и будет наша единственная рубрика, присвоенная к посту if( ! empty( $post_categories[0]->cat_ID ) ) { echo get_category_parents( $post_categories[0]->cat_ID, true, $separator ) . $separator; } the_title();
Произвольными типы постов и их таксономии в хлебных крошках с учётом иерархии
На самом деле тут всё максимально похоже на код, который мы использовали для рубрик/меток и записей/страниц.
Хлебные крошки для архивов таксономии
Если без иерархии:
if( is_tax( $taxonomy_name ) ) { single_term_title(); // название текущего элемента таксономии }
С иерархией:
if( is_tax( $taxonomy_name ) ) { $current_term = get_queried_object(); // если родительский элемент таксономии существует if( $current_term->parent ) { echo get_term_parents_list( $current_term->parent, $taxonomy_name, array( 'separator' => $separator ) ) . $separator; } single_term_title(); }
Хлебные крошки для произвольных типов постов
Если мы вообще не хотим отображать никаких таксономий, то наш пример становится очень похож на пример с обычными Страницами:
if( is_singular( $post_type_name ) ) { the_title(); }
В случае, если нам нужно также добавить какую-то произвольную таксономию:
if( is_singular( $post_type_name ) ) { $post_terms = get_the_terms( get_the_ID(), $taxonomy_name ); if( ! empty( $post_terms[0]->term_id ) ) { echo get_term_parents_list( $post_terms[0]->term_id, $taxonomy_name, array( 'separator' => $separator ) ) . $separator; } the_title(); }
Кстати, видел на других блогах функцию хлебных крошек длиной в 5-10 строк 🙂 Люди копипастят даже не задумываясь, понятно, что у них очень урезанные варианты.
Миша
Недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.
Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.
Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.
Хлебные крошки на WordPress с плагином Breadcrumb NavXT
При создании любого сайта в интернете очень важно сделать хлебные крошки, то есть так, чтобы его материалы были перелинкованы не только между собой, но они должны ссылаться на страницу рубрики и на главную страницу сайта. Такая нехитрая перелинковка может положительно повлиять как на индексацию вашего сайта в интернете, так и на то, сколько времени на нем будут проводить люди.
Если вы не хотите “заморачиваться” и прописывать для каждой страницы вашего сайта ссылки, то вам на помощь придут так называемые хлебные крошки.
Что такое хлебные крошки WordPress
Хлебные крошки – это ссылки, размещенные на каждой странице вашего сайта, которые показывают полный путь до нее. Например: “главная – рубрика – страница”.
А самым простым способом сделать хлебные крошки на вашем сайте на WordPress — это установить плагин Breadcrumb NavXT.
Установка Breadcrumb NavXT
Устанавливается Breadcrumb NavXT также как плагин Simple Tags и почти любой другой плагин на WordPress.
Сначала вам надо будет скачать этот плагин для хлебных крошек, затем залить архив на сервер в папку “ваш_сайт/wp-content/plugins/”. А после этого в панели управления WordPress в разделе “Плагины” вам потребуется активировать Breadcrumb NavXT.
Но это еще не все. Для того чтобы хлебные крошки появились на нужном вам месте страницы , просто добавьте в код вашего сайта следующие строки:
<div> <?php if(function_exists(‘bcn_display’)) { bcn_display(); } >? </div> |
Я добавил их в файл single.php моей темы. Вы можете добавить его туда же или попробовать самостоятельно поэкспериментировать с местом добавления.
Настройка плагина Breadcrumb NavXT
Настройка плагина Breadcrumb NavXT проста и интуитивно понятна. Ее можно найти в одноименном разделе в параметрах вашей панели WordPress.
Там вы сможете устанавливать разделители и менять размер заголовка, редактировать какие ссылки вы хотите видеть в составе хлебных крошек, а какие нет. И в общем-то и все. Если с настройкой данного плагина у вас возникнут проблемы, то просто пишите в комментариях.
В конце стоит также отметить, что последняя версия плагина Breadcrumb NavXT, ссылка на скачку которой есть в данной статье, работает только в последних версиях WordPress. Так что если у вас уже старая версия этой CMS, то вам лучше ее обновить.
Кроме плагина Breadcrumb NavXT на WordPress есть и другие варианты установки хлебных крошек, но этот на мой взгляд наиболее прост и удобен.
Загрузка…
Хлебные крошки WordPress или как сделать Breadcrumb WordPress
На данный момент поисковые системы хорошо понимают структуру каждого сайта или блога и обращают большое внимание на удобство юзабилити на веб ресурсе, то есть, чтобы было легко и понятно бродить по сайту не напрягаясь. Есть много разных способов как сделать юзабилити сайта понятным и удобным. Один из способов, который используют большинство сайтов — это хлебные крошки или breadcrumb. В WordPress есть множество решений как реализовать хлебные крошки WordPress или как ещё называют Breadcrumb WordPress (по-английски). В данной статье я расскажу как быстро и легко настроить данную функцию с помощью плагина Breadcrumb NavXT.
Поясню, Хлебные крошки — это маленькая навигация, которая обычно располагается под главным меню, в которой можно отследить своё передвижение по сайту. Например мы зашли на сайт с товарами, выбрали молоток, а Breadcrumb покажет нам путь по которому мы можем увидеть категории, подкатегории расположения этого товара. Чтобы отслеживать Ваших посетителей на блоге читайте статью как сделать в wordpress счетчик и статистику посещений.
Хлебные крошки WordPress
Мы будем использовать плагин Breadcrumb NavXT, довольно мощный и удобный плагин, в котором множество полезных настроек для любого сайта.
Breadcrumb NavXT это плагин WordPress, который совместим с версиями WordPress 3.1 и выше. Этот плагин генерирует хлебные крошки для вашего блога WordPress. Плагин представляет собой иерархию, ведущих категорий к текущей странице, а не фактическое путь, чтобы прийти к текущей странице.
На картинке хорошо видно как выглядит Breadcrumb на разных страницах сайта. Все категории и главная страница как ссылка, по которой можно переходить в те главные разделы, в котором находится тот товар статья, которую читают.
Нашёл один минус Breadcrumb NavXT. Если у Вас сложный дизайн Вам придётся переделывать дизайн плагина под свой сайт, в принципе ничего сложного, но для начинающих веб мастеров может быть проблематично, ничего ученье свет. Да напомню, что после создания блога все посты будут спамить комментариями боты спамеры, чтобы избавиться от спама читайте как в wordpress отключить комментарии и Как поставить комментарии WordPress и забыть о спаме
Всё, что Вам нужно сделать для начала работы — это взять плагин Breadcrumb NavXT и установить. Далее, чтобы отображались хлебные крошки Вам нужно поставить в шаблоне данный код, в той части шаблона, где Вы хотите видеть Breadcrumb:
Хлебные крошки или breadcrumb
Это удачное решение для того, чтобы Ваши пользователи ориентировались на Вашем сайте без особых проблем, плюс ко всему поисковые системы будут смотреть на Ваш сайт с большим доверием, что не мало Важно в продвижении Вашего сайта или персонального блога.
Если Вы делаете блог на denwer на персональном компьютере и думаете как установить WordPress на хостинг, читайте мою статью, в которой всё очень подробно расписано.
Смотрите также недавно созданный раздел сниппеты WordPress, в котором Вы сможете найти решения, как сделать breadcrumb на сайте без плагинов, с помощью сниппета breadcrumb . Будут вопросы, обращайтесь.
Если информация Вам пригодилась поделитесь с ней со своими друзьями!
Работа с WordPress.
Инфо
WordPress. Хлебные крошки без плагина. Категория: Web-разработка • CMS WoprdPress
Хлебные крошки — это способ навигации, который показывает расположение текущей страницы на сайте. Т.е. путь, по которому на нее можно попасть, начиная с главной страницы. Хлебные крошки полезны для сайтов со сложной структурой, с их помощью посетителю гораздо легче разобраться — в каком разделе он находится. И, если нужно, легко подняться на уровень выше и осмотреть ветку целиком.
Давайте напишем функцию, которая будет показывать на сайте цепочку навигации, и добавим ее в файл functions.php
темы. Поскольку функция получилась большая, будем разбирать ее работу небольшими фрагментами.
Функция по частям
function echo_breadcrumbs($args = [], $echo = true) { /* * Сюда будем добавлять весь код, но по частям, * рассматривая все возможные ситуации: главная * страница, страница записи блога и т.п. */ }
/* * Настройки хлебных крошек по умолчанию */ $defaults = [ // обертка для всех элементов хлебных крошек 'wrapper' => ['<div>', '</div>'], // шаблон для элемента хлебных крошек, ссылка 'link' => '<a href="%HREF%">%TEXT%</a>', // шаблон для элемента хлебных крошек, текст 'text' => '<span>%TEXT%</span>', // разделитель для элеменов хлебных крошек 'separator' => '<span> › </span>', // показывать хлебные крошки на главной странице? 'show_on_home' => true, // показывать в хлебных крошках текущую страницу? 'show_current' => false, ]; /* * Объединяем настройки по умолчанию и настройки, переданные * при вызове функции */ $settings = wp_parse_args($args, $defaults);
/* * В этом массиве будем накапливать все элементы хлебных крошек */ $breadcrumbs = []; /* * Если это не страница списка записей (рубрика, архив), а отдельная запись * (пост, страница, вложение) — получаем ее родителя. Эта переменная нам * потребуется несколько раз ниже, поэтому получим ее значение один раз. */ global $post; $parent_id = ($post) ? $post->post_parent : false; /* * Итак, добавляем первый элемент в хлебные крошки */ $href = home_url('/'); $text = 'Главная'; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html;
/* * Если мы находимся на главной странице сайта */ if (is_front_page()) { /* * Здесь возможны две ситуации: когда на главной странице показывается * список последних записей блога или когда на главной показывается * статическая страница. В случае статической страницы, больше ничего * делать не надо, в хлебных крошках всего один элемент. */ // на главной показывается список последних записей if (get_query_var('paged')) { // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } // если на главной не надо показывать хлебные крошки, // просто очищаем массив $breadcrumbs if (!$settings['show_on_home']) { $breadcrumbs = []; } }
/* * Если мы находимся на странице последних записей блога, * но это не главная страница */ if (is_home() && !is_front_page()) { // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', false); // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); /* * Если это не первая страница последних записей (постраничная навигация), * то сначала добавляем в массив $breadcrumbs ссылку на первую страницу, * а потом — текст «Страница N» */ if (get_query_var('paged')) { // добавляем в массив ссылку на первую страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { if ($settings['show_current']) { $text = $title; $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } }
/* * Если мы находимся на странице списка записей рубрики */ if (is_category()) { /* * Если последние записи блога показываются не на главной * странице, добавляем в хлебные крошки еще и ссылку на ту * страницу, на которой показываются последние записи */ // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', 0); if ($page_for_posts) { // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); // добавляем в массив ссылку на эту страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } /* * Добавляем в массив ссылки на всех родителей этой рубрики */ $parents = get_ancestors(get_query_var('cat'), 'category'); foreach (array_reverse($parents) as $cat) { $href = get_category_link($cat); $text = get_cat_name($cat); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } if (get_query_var('paged')) { /* * Если это не первая страница рубрики (постраничная навигация), * то сначала добавляем в массив $breadcrumbs ссылку на рубрику, * а потом — текст «Страница N» */ // добавляем в массив ссылку на рубрику $cat = get_query_var('cat'); $href = get_category_link($cat); $text = get_cat_name($cat); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { /* * Если это первая страница рубрики, просто добавляем * в массив $breadcrumbs название рубрики */ if ($settings['show_current']) { $text = single_cat_title('', false); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } }
/* * Если мы находимся на статической странице (тип записи «page») */ if (is_page() && !is_front_page() && !is_attachment()) { if ($parent_id) { /* * Если у страницы есть родитель */ // получаем всех предков страницы и добавляем в массив $parents = get_post_ancestors(get_the_ID()); foreach (array_reverse($parents) as $id) { $href = get_page_link($id); $text = get_the_title($id); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } if ($settings['show_current']) { $text = get_the_title(); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } else { /* * Если у страницы нет родителя */ if ($settings['show_current']) { $text = get_the_title(); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } }
/* * Если мы находимся на отдельной странице записи типа «post» */ if (is_single() && get_post_type() == 'post') { /* * Если последние записи блога показываются не на главной * странице, добавляем в хлебные крошки еще и ссылку на ту * страницу, на которой показываются последние записи */ // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', 0); if ($page_for_posts) { // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); // добавляем в массив ссылку на эту страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } /* * Добавляем в массив ссылку на рубрику и ссылки на всех родителей */ // рубрики, в которых размещена эта запись $cat = get_the_category(); // но мы используем только одну рубрику $catID = $cat[0]->cat_ID; // получаем всех родителей этой рубрики $parents = get_ancestors($catID, 'category'); $parents = array_reverse( $parents ); $parents[] = $catID; foreach ($parents as $cat) { $href = get_category_link($cat); $text = get_cat_name($cat); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } /* * Если у записи много комментариев, они будут расположены * на нескольких страницах */ if (get_query_var('cpage')) { // добавляем в массив ссылку на эту запись $href = get_permalink(); $text = get_the_title(); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница комментариев N» $number = get_query_var('cpage'); $text = 'Страница комментариев '. $number; $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { if ($settings['show_current']) { $text = get_the_title(); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } }
/* * Если мы находимся на отдельной странице вложения */ if (is_attachment()) { /* * Если вложение прикреплено к записи или странице */ if ($parent_id) { $parent = get_post($parent_id); /* * Вложение прикреплено к записи блога */ if ($parent->post_type == 'post') { /* * Если последние записи блога показываются не на главной * странице, добавляем в хлебные крошки еще и ссылку на ту * страницу, на которой показываются последние записи */ // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', 0); if ($page_for_posts) { // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); // добавляем в массив ссылку на эту страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } // рубрики, в которых размещена эта запись $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) { $href = get_category_link($cat); $text = get_cat_name($cat); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } $href = get_permalink($parent); $text = $parent->post_title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } /* * Вложение прикреплено к статической странице */ if ($parent->post_type == 'page') { /* * Если вложение прикреплено к статической странице, * которая показывается на главной странице, тогда * не нужно еще раз добавлять в массив $breadcrumbs * главную страницу */ if (get_option('page_on_front', 0) != $parent->ID) { $parents = get_post_ancestors($parent->ID); $parents = array_reverse($parents); $parents[] = $parent->ID; foreach ($parents as $id) { $href = get_page_link($id); $text = get_the_title($id); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } } } } if ($settings['show_current']) { $text = get_the_title(); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } }
/* * Если мы находимся на странице результатов поиска */ if (is_search()) { /* * Если это не первая страница результатов поиска (постраничная навигация), * то сначала добавляем в массив $breadcrumbs ссылку на первую страницу, а * потом — текст «Страница N» */ if (get_query_var('paged')) { // добавляем в массив ссылку на первую страницу $href = home_url('/') . '?s=' . get_search_query(); $text = 'Результаты для «' . get_search_query() . '»'; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { if ($settings['show_current']) { $text = 'Результаты для «' . get_search_query() . '»'; $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } }
/* * Если мы находимся на странице архива по годам */ if (is_year()) { /* * Если последние записи блога показываются не на главной * странице, добавляем в хлебные крошки еще и ссылку на ту * страницу, на которой показываются последние записи */ // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', 0); if ($page_for_posts) { // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); // добавляем в массив ссылку на эту страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } /* * Если это не первая страница архива по годам (постраничная навигация), * то сначала добавляем в массив $breadcrumbs ссылку на первую страницу, * а потом — текст «Страница N» */ if (get_query_var('paged')) { // добавляем в массив ссылку на первую страницу $href = get_year_link(get_the_time('Y')); $text = get_the_time('Y'); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { if ($settings['show_current']) { // добавляем в массив текст — название года $text = get_the_time('Y'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } }
/* * Если мы находимся на странице архива по месяцам */ if (is_month()) { /* * Если последние записи блога показываются не на главной * странице, добавляем в хлебные крошки еще и ссылку на ту * страницу, на которой показываются последние записи */ // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', 0); if ($page_for_posts) { // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); // добавляем в массив ссылку на эту страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } // добавляем в массив ссылку на год публикации $href = get_year_link(get_the_time('Y')); $text = get_the_time('Y'); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; /* * Если это не первая страница архива по месяцам (постраничная навигация), * то сначала добавляем в массив $breadcrumbs ссылку на первую страницу, * а потом — текст «Страница N» */ if (get_query_var('paged')) { // добавляем в массив ссылку на первую страницу $href = get_year_link(get_the_time('F')); $text = get_the_time('F'); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { if ($settings['show_current']) { // добавляем в массив текст — название месяца $text = get_the_time('F'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } }
/* * Если мы находимся на странице архива по дням */ if (is_day()) { /* * Если последние записи блога показываются не на главной * странице, добавляем в хлебные крошки еще и ссылку на ту * страницу, на которой показываются последние записи */ // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', 0); if ($page_for_posts) { // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); // добавляем в массив ссылку на эту страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } // добавляем в массив ссылку на год публикации $href = get_year_link(get_the_time('Y')); $text = get_the_time('Y'); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив ссылку на месяц публикации $href = get_month_link( get_the_time('Y'), get_the_time('m') ); $text = get_the_time('F'); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; /* * Если это не первая страница архива по дням (постраничная навигация), * то сначала добавляем в массив $breadcrumbs ссылку на первую страницу, * а потом — текст «Страница N» */ if (get_query_var('paged')) { // добавляем в массив ссылку на первую страницу $href = get_day_link( get_the_time('Y'), get_the_time('m'), get_the_time('d') ); $text = get_the_time('d'); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { if ($settings['show_current']) { // добавляем в массив текст — день публикации $text = get_the_time('d'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } }
/* * Если мы находимся на странице архива записей с меткой */ if (is_tag()) { /* * Если последние записи блога показываются не на главной * странице, добавляем в хлебные крошки еще и ссылку на ту * страницу, на которой показываются последние записи */ // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', 0); if ($page_for_posts) { // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); // добавляем в массив ссылку на эту страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } /* * Если это не первая страница списка записей (постраничная навигация), * то сначала добавляем в массив $breadcrumbs ссылку на первую страницу, * а потом — текст «Страница N» */ if (get_query_var('paged')) { // добавляем в массив ссылку на первую страницу $tagID = get_query_var('tag_id'); $href = get_tag_link($tagID); $text = 'Метка «'. single_tag_title('', false).'»'; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { if ($settings['show_current']) { $text = 'Метка «'.single_tag_title('', false).'»'; $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } }
/* * Если мы находимся на странице архива записей автора */ if (is_author()) { /* * Если последние записи блога показываются не на главной * странице, добавляем в хлебные крошки еще и ссылку на ту * страницу, на которой показываются последние записи */ // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', 0); if ($page_for_posts) { // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); // добавляем в массив ссылку на эту страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } $author = get_userdata(get_query_var('author')); /* * Если это не первая страница списка записей (постраничная навигация), * то сначала добавляем в массив $breadcrumbs ссылку на первую страницу, * а потом — текст «Страница N» */ if (get_query_var('paged')) { // добавляем в массив ссылку на первую страницу $href = get_author_posts_url($author->ID); $text = 'Автор ' . $author->display_name; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { // если это первая страница постраничной навигации if ($settings['show_current']) { $text = 'Автор ' . $author->display_name; $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } }
/* * Если мы находимся на странице 404 Not Found */ if (is_404()) { if ($settings['show_current']) { $text = 'Страница не найдена'; $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } }
if ($echo) { // выводим хлебные крошки if (!empty($breadcrumbs)) { $breadcrumbs = implode($settings['separator'], $breadcrumbs); echo $settings['wrapper'][0] . $breadcrumbs . $settings['wrapper'][1]; } } else { // возвращаем хлебные крошки return $breadcrumbs; }
Функция целиком
function echo_breadcrumbs($args = [], $echo = true) { /* * Настройки хлебных крошек по умолчанию */ $defaults = [ // обертка для всех элементов хлебных крошек 'wrapper' => ['<div>', '</div>'], // шаблон для элемента хлебных крошек, ссылка 'link' => '<a href="%HREF%">%TEXT%</a>', // шаблон для элемента хлебных крошек, текст 'text' => '<span>%TEXT%</span>', // разделитель для элеменов хлебных крошек 'separator' => '<span> › </span>', // показывать хлебные крошки на главной странице? 'show_on_home' => true, // показывать в хлебных крошках текущую страницу? 'show_current' => false, ]; /* * Объединяем настройки по умолчанию и настройки, переданные * при вызове функции */ $settings = wp_parse_args($args, $defaults); /* * В этом массиве будем накапливать все элементы хлебных крошек */ $breadcrumbs = []; /* * Если это не страница списка записей (рубрика, архив), а отдельная запись * (пост, страница, вложение) — получаем ее родителя. Эта переменная нам * потребуется несколько раз ниже, поэтому получим ее значение один раз. */ global $post; $parent_id = ($post) ? $post->post_parent : false; /* * Итак, добавляем первый элемент в хлебные крошки */ $href = home_url('/'); $text = 'Главная'; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; /* * Если мы находимся на главной странице сайта */ if (is_front_page()) { /* * Здесь возможны две ситуации: когда на главной странице показывается * список последних записей блога или когда на главной показывается * статическая страница. В случае статической страницы, больше ничего * делать не надо, в хлебных крошках всего один элемент. */ // на главной показывается список последних записей if (get_query_var('paged')) { // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } // если на главной не надо показывать хлебные крошки, // просто очищаем массив $breadcrumbs if (!$settings['show_on_home']) { $breadcrumbs = []; } } /* * Если мы находимся на странице последних записей блога, * но это не главная страница */ if (is_home() && !is_front_page()) { // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', false); // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); /* * Если это не первая страница последних записей (постраничная навигация), * то сначала добавляем в массив $breadcrumbs ссылку на первую страницу, * а потом — текст «Страница N» */ if (get_query_var('paged')) { // добавляем в массив ссылку на первую страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { if ($settings['show_current']) { $text = $title; $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } } /* * Если мы находимся на странице списка записей рубрики */ if (is_category()) { /* * Если последние записи блога показываются не на главной * странице, добавляем в хлебные крошки еще и ссылку на ту * страницу, на которой показываются последние записи */ // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', 0); if ($page_for_posts) { // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); // добавляем в массив ссылку на эту страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } /* * Добавляем в массив ссылки на всех родителей этой рубрики */ $parents = get_ancestors(get_query_var('cat'), 'category'); foreach (array_reverse($parents) as $cat) { $href = get_category_link($cat); $text = get_cat_name($cat); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } if (get_query_var('paged')) { /* * Если это не первая страница рубрики (постраничная навигация), * то сначала добавляем в массив $breadcrumbs ссылку на рубрику, * а потом — текст «Страница N» */ // добавляем в массив ссылку на рубрику $cat = get_query_var('cat'); $href = get_category_link($cat); $text = get_cat_name($cat); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { /* * Если это первая страница рубрики, просто добавляем * в массив $breadcrumbs название рубрики */ if ($settings['show_current']) { $text = single_cat_title( '', false ); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } } /* * Если мы находимся на статической странице (тип записи «page») */ if (is_page() && !is_front_page() && !is_attachment()) { if ($parent_id) { /* * Если у страницы есть родитель */ // получаем всех предков страницы и добавляем в массив $parents = get_post_ancestors(get_the_ID()); foreach (array_reverse($parents) as $id) { $href = get_page_link($id); $text = get_the_title($id); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } if ($settings['show_current']) { $text = get_the_title(); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } else { /* * Если у страницы нет родителя */ if ($settings['show_current']) { $text = get_the_title(); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } } /* * Если мы находимся на отдельной странице записи типа «post» */ if (is_single() && get_post_type() == 'post') { /* * Если последние записи блога показываются не на главной * странице, добавляем в хлебные крошки еще и ссылку на ту * страницу, на которой показываются последние записи */ // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', 0); if ($page_for_posts) { // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); // добавляем в массив ссылку на эту страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } /* * Добавляем в массив ссылку на рубрику и ссылки на всех родителей */ // рубрики, в которых размещена эта запись $cat = get_the_category(); // но мы используем только одну рубрику $catID = $cat[0]->cat_ID; // получаем всех родителей этой рубрики $parents = get_ancestors($catID, 'category'); $parents = array_reverse( $parents ); $parents[] = $catID; foreach ($parents as $cat) { $href = get_category_link($cat); $text = get_cat_name($cat); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } /* * Если у записи много комментариев, они будут расположены * на нескольких страницах */ if (get_query_var('cpage')) { // добавляем в массив ссылку на эту запись $href = get_permalink(); $text = get_the_title(); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница комментариев N» $number = get_query_var('cpage'); $text = 'Страница комментариев '. $number; $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { if ($settings['show_current']) { $text = get_the_title(); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } } /* * Если мы находимся на отдельной странице вложения */ if (is_attachment()) { /* * Если вложение прикреплено к записи или странице */ if ($parent_id) { $parent = get_post($parent_id); /* * Вложение прикреплено к записи блога */ if ($parent->post_type == 'post') { /* * Если последние записи блога показываются не на главной * странице, добавляем в хлебные крошки еще и ссылку на ту * страницу, на которой показываются последние записи */ // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', 0); if ($page_for_posts) { // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); // добавляем в массив ссылку на эту страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } // рубрики, в которых размещена эта запись $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) { $href = get_category_link($cat); $text = get_cat_name($cat); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } $href = get_permalink($parent); $text = $parent->post_title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } /* * Вложение прикреплено к статической странице */ if ($parent->post_type == 'page') { /* * Если вложение прикреплено к статической странице, * которая показывается на главной странице, тогда * не нужно еще раз добавлять в массив $breadcrumbs * главную страницу */ if (get_option('page_on_front', 0) != $parent->ID) { $parents = get_post_ancestors($parent->ID); $parents = array_reverse($parents); $parents[] = $parent->ID; foreach ($parents as $id) { $href = get_page_link($id); $text = get_the_title($id); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } } } } if ($settings['show_current']) { $text = get_the_title(); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } /* * Если мы находимся на странице результатов поиска */ if (is_search()) { /* * Если это не первая страница результатов поиска (постраничная навигация), * то сначала добавляем в массив $breadcrumbs ссылку на первую страницу, а * потом — текст «Страница N» */ if (get_query_var('paged')) { // добавляем в массив ссылку на первую страницу $href = home_url('/') . '?s=' . get_search_query(); $text = 'Результаты для «' . get_search_query() . '»'; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { if ($settings['show_current']) { $text = 'Результаты для «' . get_search_query() . '»'; $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } } /* * Если мы находимся на странице архива по годам */ if (is_year()) { /* * Если последние записи блога показываются не на главной * странице, добавляем в хлебные крошки еще и ссылку на ту * страницу, на которой показываются последние записи */ // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', 0); if ($page_for_posts) { // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); // добавляем в массив ссылку на эту страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } /* * Если это не первая страница архива по годам (постраничная навигация), * то сначала добавляем в массив $breadcrumbs ссылку на первую страницу, * а потом — текст «Страница N» */ if (get_query_var('paged')) { // добавляем в массив ссылку на первую страницу $href = get_year_link(get_the_time('Y')); $text = get_the_time('Y'); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { if ($settings['show_current']) { // добавляем в массив текст — название года $text = get_the_time('Y'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } } /* * Если мы находимся на странице архива по месяцам */ if (is_month()) { /* * Если последние записи блога показываются не на главной * странице, добавляем в хлебные крошки еще и ссылку на ту * страницу, на которой показываются последние записи */ // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', 0); if ($page_for_posts) { // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); // добавляем в массив ссылку на эту страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } // добавляем в массив ссылку на год публикации $href = get_year_link(get_the_time('Y')); $text = get_the_time('Y'); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; /* * Если это не первая страница архива по месяцам (постраничная навигация), * то сначала добавляем в массив $breadcrumbs ссылку на первую страницу, * а потом — текст «Страница N» */ if (get_query_var('paged')) { // добавляем в массив ссылку на первую страницу $href = get_year_link(get_the_time('F')); $text = get_the_time('F'); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { if ($settings['show_current']) { // добавляем в массив текст — название месяца $text = get_the_time('F'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } } /* * Если мы находимся на странице архива по дням */ if (is_day()) { /* * Если последние записи блога показываются не на главной * странице, добавляем в хлебные крошки еще и ссылку на ту * страницу, на которой показываются последние записи */ // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', 0); if ($page_for_posts) { // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); // добавляем в массив ссылку на эту страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } // добавляем в массив ссылку на год публикации $href = get_year_link(get_the_time('Y')); $text = get_the_time('Y'); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив ссылку на месяц публикации $href = get_month_link( get_the_time('Y'), get_the_time('m') ); $text = get_the_time('F'); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; /* * Если это не первая страница архива по дням (постраничная навигация), * то сначала добавляем в массив $breadcrumbs ссылку на первую страницу, * а потом — текст «Страница N» */ if (get_query_var('paged')) { // добавляем в массив ссылку на первую страницу $href = get_day_link( get_the_time('Y'), get_the_time('m'), get_the_time('d') ); $text = get_the_time('d'); $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { if ($settings['show_current']) { // добавляем в массив текст — день публикации $text = get_the_time('d'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } } /* * Если мы находимся на странице архива записей с меткой */ if (is_tag()) { /* * Если последние записи блога показываются не на главной * странице, добавляем в хлебные крошки еще и ссылку на ту * страницу, на которой показываются последние записи */ // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', 0); if ($page_for_posts) { // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); // добавляем в массив ссылку на эту страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } /* * Если это не первая страница списка записей (постраничная навигация), * то сначала добавляем в массив $breadcrumbs ссылку на первую страницу, * а потом — текст «Страница N» */ if (get_query_var('paged')) { // добавляем в массив ссылку на первую страницу $tagID = get_query_var('tag_id'); $href = get_tag_link($tagID); $text = 'Метка «'. single_tag_title('', false).'»'; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { if ($settings['show_current']) { $text = 'Метка «'.single_tag_title('', false).'»'; $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } } /* * Если мы находимся на странице архива записей автора */ if (is_author()) { /* * Если последние записи блога показываются не на главной * странице, добавляем в хлебные крошки еще и ссылку на ту * страницу, на которой показываются последние записи */ // идентификтор страницы, где показываются последние записи $page_for_posts = get_option('page_for_posts', 0); if ($page_for_posts) { // наименование страницы, где показываются последние записи $title = get_the_title($page_for_posts); // добавляем в массив ссылку на эту страницу $href = get_page_link($page_for_posts); $text = $title; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; } $author = get_userdata(get_query_var('author')); /* * Если это не первая страница списка записей (постраничная навигация), * то сначала добавляем в массив $breadcrumbs ссылку на первую страницу, * а потом — текст «Страница N» */ if (get_query_var('paged')) { // добавляем в массив ссылку на первую страницу $href = get_author_posts_url($author->ID); $text = 'Автор ' . $author->display_name; $html = str_replace( ['%HREF%', '%TEXT%'], [$href, $text], $settings['link'] ); $breadcrumbs[] = $html; // добавляем в массив текст «Страница N» $text = 'Страница ' . get_query_var('paged'); $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } else { // если это первая страница постраничной навигации if ($settings['show_current']) { $text = 'Автор ' . $author->display_name; $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } } /* * Если мы находимся на странице 404 Not Found */ if (is_404()) { if ($settings['show_current']) { $text = 'Страница не найдена'; $html = str_replace('%TEXT%', $text, $settings['text']); $breadcrumbs[] = $html; } } if ($echo) { // выводим хлебные крошки if (!empty($breadcrumbs)) { $breadcrumbs = implode($settings['separator'], $breadcrumbs); echo $settings['wrapper'][0] . $breadcrumbs . $settings['wrapper'][1]; } } else { // возвращаем хлебные крошки return $breadcrumbs; } }
Пример вызова
При использовании фреймворка Bootstrap 3, уже есть готовый css-класс breadcrumb
, позволяющий получить красиво оформленные хлебные крошки:
<ol> <li><a href="#">Главная</a></li> <li><a href="#">Процессоры</a></li> <li>Intel</li> </ol>
Используем этот css-класс при вызове функции:
echo_breadcrumbs([ 'wrapper' => ['<ol>', '</ol>'], 'link' => '<li><a href="%HREF%">%TEXT%</a></li>', 'text' => '<li>%TEXT%</li>', 'separator' => '', 'show_current' => true, ]);
Поиск:
CMS • Web-разработка • WordPress • Навигация • Функция • Хлебные крошки • Breadcrumbs
Хлебные крошки для WordPress при помощи кода
Приветствую, дорогие читатели блога life-crazy. ru!
В статье про плагины wordpress я перечислял список своих установленных плагинов. От некоторых уже избавился, спасибо комментаторам за отличные идеи ;). Были удалены следующие плагины: Aprove only russian comments, он не пропускал комментарии, которые содержат в большей степени английские буквы. Решение — Akismet отлично справляется со своей работой.
MaxSite Russian Date – этот плагин позволял отображать даты корректно, решилось очень просто, заменил формат вывода дат. Раньше выводилось так — 25 сентября 2013, а сейчас вот так – 25.09.2013.
Russify Comments Number – корректное отображение окончание комментариев. Удалил плагин, взамен пришлось немного подковырять файлы движка wordpress и прийти к общему отображению «кол-во комментариев (1, 2,5, 16 и т.д)». Но здесь есть маленький недочет, в момент, когда буду обновлять сам движок, нужно будет снова вносить изменения.
Следующий плагин, который подвергся утилизации – это Breadcrumb NavXT, в народе – хлебные крошки. Как их реализовать при помощи плагина, я писал в этой статье «Улучшаем внутреннюю перелинковку хлебными крошками».
А в этой статье, я хотел бы поделиться информацией, как сделать хлебные крошки для wordpress при помощи обычного кода.
Ведь плагины замедляют работу блога, поэтому от них по возможности нужно избавляться, заменяя их кодом.
Раз уж тема коснулась внутренней перелинковки, хотел бы еще поделиться полезной информацией, которою нашел в интернете, о ней очень мало кто пишет, но она чертовски важна!
Вы заметили, что в последнее время, после статей у меня не выводятся похожие записи? Вы, наверное, подумаете, та дурак, отказался от дополнительной перелинковки и от улучшения поведенческих факторов. Да, доля потерь здесь есть, но в большей степени идут плюсы.
Такая автоматическая перелинковка, которая выводит похожие записи, подойдет для блоггеров, которые не делали перелинковку вручную, а ведь у меня она вся ручная… Автомат отпадает…
На начальном этапе ведения блога, рекомендуется в статьях ставить по 3-5 ссылок, которые будут вести на другие статьи вашего блога, по мере накопления материалов, количество ссылок можно увеличивать.
Чем больше ссылок, тем меньше их вес, тем меньше они передают авторитетность другим вашим страницам.
Из этого следует вывод: если в статье проставлять вручную, допустим по 3 ссылки, и выводить похожие записи при помощи плагина WordPress Related Posts или кодом, неважно, то в итоге получиться, что со страницы идет 8-10 ссылок. А это довольно-таки много, и их значимость при этом намного меньше.
Плюс ко всему, похожие записи выводятся с НЕНУЖНЫМИ анкорами, что дополнительно снижает релевантность, то есть, соответствие страницы определенному запросу.
Конечно, идеальной и правильной схемы перелинковки нет, для каждого блога она своя, поэтому, прежде чем поспешить снести свои похожие записи, подумайте хорошенько.
Лично для себя я решил, похожие записи убраны, жду пока роботы переиндексируют и перераспределят вес :). И возвращаемся к теме поста.
Хлебные крошки для WordPress при помощи кода
Для начала необходимо подключиться к своему хостингу, я пользуюсь filezilla для этих дел, как подключиться этим ФТП клиентом к хостингу, читайте в этой статье.
Затем нужно перейти в папку с темами, находятся они по адресу:
/wp-content/themes/название_темы
Открываем файл functions.php, копируем данную функцию:
И вставляем ее стразу после открывающегося элемента ?рhр. Не забудьте поменять адрес, смотрите скрин. Отлично, данная функция позволит выводить каркас хлебных крошек.
Далее необходимо указать, где они будут выводиться, я захотел видеть их сразу над заголовком.
Для этого, открывается файл single.php, находится он всё в той же папке с темами, и сразу над заголовком вставляется данный код:
Если вы разбираетесь немного в кодах, то наверное заметили, что данному коду прописан class, а это значит, что хлебные крошки можно оформить визуально через файл Style.css.
Находиться он там же, в папке с темой, открываем его на редактирование и в самый конец вставляем стили для наших хлебных крошек на wordpress.
Первая строчка отвечает за шрифт и размер текста;
Вторая позволяет сделать отступ снизу;
Третья строчка задает цвет текста.
В конечном итоге, получилась такая картина:
Вот такой простенькой функцией можно избавиться от плагина Breadcrumb NavXT и вывести хлебные крошки кодом. Итого, активных 20 плагинов, впереди избавление еще от 3 штук.
Надеюсь, данная статья поможет и вам снять нагрузку с WP и кильнуть еще один плагин.
А как крошки выводятся у вас?
Подписывайтесь на обновления блога, сочные посты еще впереди.
С уважением, Михед Александр.
WP: убрать category из хлебных крошек По мнению сеошников хлебные крошки на сайте важная составляющая для его продвижения. Именно поэтому приходится реализовывать их в большинстве проектов. К счастью, есть специальные плагины для автоматической генерации этих самых хлебных крошек. Например, для вордпресса я пользуюсь плагином Breadcrumb NavXT. Настраивается, например, для рубрик он вот так: <span property="itemListElement" typeof="ListItem" itemscope itemtype="http://data-vocabulary. category/(.+)$ https://upread.ru/$1 [R=301,L]
Автор этого материала — я — Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML — то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда. заметки, WordPress, .htaccess, перенаправление, хлебные крошки |
Хлебные крошки для WordPress
Хлебные крошки используются веб-мастерами достаточно давно и их использование оценивают не только поисковые системы, но и сами пользователи сайта. Данный вид микроразметки облегчает навигацию по сайту, что позволяет понизить количество отказов.
Как использовать хлебные крошки?
Хлебные крошки — это группа ссылок, указывающая ваше местонахождение на сайте в виде иерархии, а также текущее местонахождение. Хлебные крошки ещё иногда называются навигационной цепочкой.
Навигационная цепочка является одним из пунктов микроразметки, который активно используется всеми веб-мастерами и имеет существенные плюсы в плане SEO.
Возможны разные вариации ссылок и начала их указания, но чаще всего отображаются все категории вплоть до главной страницы сайта. Таким образом, с помощью хлебных крошек можно получить структуру сайта.
На моём сайте используется классический вариант хлебных крошек:
Преимущество хлебных крошек
Можно долго перечислять плюсы использования хлебных крошек — ведь этот элемент удобен во всех планах как для людей, так и для поисковиков.
Основные преимущества:
- удобная навигация
- низкое количество отказов
- возможность быстрого перехода к нужной категории
- ускоренная индексация сайта
- удобство поиска материала
Удобство в навигации является очень важным плюсом, которым может похвалится ограниченное количество сайтов. Частая ошибка в создании громоздких сайтов — это сложная система навигации. Из-за таких ошибок в проектировании очень часто пользователь, который не у дзнаком с сайтом и его структурой, просто не может найти что искал.
Именно этот факт порождает такой отрицательный поведенческий фактор, как отказы. Я уже заводил речь об этом показателе в данной статье.
Именно отказы могут говорить о возможных проблемах в навигации сайта или его сложности. Даже если ваш сайт достаточно прост — навигационная цепочка не помешает и только повысит юзабилити. Возможность быстрого поиска необходимого материала — это ключ к успеху.
Внимание и уделение предпочтений определенному сайту зависит именно от удобства его использования: простота и множество вспомогательных элементов порождают привязанность пользователей. Если удастся завоевать симпатии — даже при некоторых проблемах и минусах ваш проект будут использовать и следить за обновлениями.
Даже когда пользователь просматривает страницы в выдаче — его выбор может остановиться на нашем сайте, потому что хлебные крошки отображаются в сниппете. Таким образом, это позволяет удостовериться в нужной категории ещё до перехода на сайт!
Если рассмотреть сайты «старой» школы, можно заметить удивительную разницу в навигации и выдачи таких материалов в целом. Раньше сайты были спроектированы таким образом, чтобы пользователь попадал на главную страницу и только после этого производил поиск нужного материала или категории, и пробирался вглубь по навигационной цепочке.
Сейчас же всё изменилось ровно наоборот! Сайты проектируют таким образом, чтобы пользователь приходил непосредственно к статье или материалу, который он ищет. И только после этого мог передвигаться по сайту, но уже наружу — к главной странице. Таким образом, можно наблюдать кардинальные изменения в SEO, что несомненно сказалось на развитии интернета, а, в частности, поисковых систем. Я даже не представляю какой можно придумать запрос, чтобы не найти ответ или информацию по нему — вот это и есть заслуга постоянно развивающегося SEO.
Хлебные крошки позволяют не только облегчить пользование сайтом для людей, но и является «лакомым кусочком» для поисковых систем. Поверьте, они очень любят сайты, в которых используются навигационные цепочки — это же очевидно! Куда проще и быстрее проверять сайт, с наглядной структурой — и они отдают симпатию таким сайтам.
Скорость индексации будет однозначно выше и не только одной страницы — за счет хлебных крошек робот пройдется по всем остальным страницам по цепочке. Именно поэтому это является одним из самых полезных и нужных элементов в микроразметке.
Хлебные крошки для WordPress
Для систем управления сайтом существуют удобные плагины, который позволяют создавать хлебные крошки на сайте в один клик. Это очень удобно и просто, но найти удобный плагин не всегда предоставляется возможным.
Yoast SEO — плагин, который советую всем. Аналогов с таким функционалом я ещё не видел! Именно с помощью него можно создать и настроить хлебные крошки под свой сайт. Помимо этого в плагине содержится крайне полезные и удобные SEO настройки.
Установить его можно по ссылке. Этому плагину я обязательно уделю время отдельно — он правда очень крут и им нужно уметь пользоваться.
Если вам не нравится Yoast SEO, есть достойный аналог — Breadcrumb NavXT. Содержит всё необходимое для хлебных крошек — прекрасно справляется со своей задачей и достаточно прост в использовании.
Установить Breadcrumb NavXT можно по ссылке.
С помощью этих сервисов можно установить такой незаменимый и полезный элемент, как хлебные крошки. Напомню, что этот элемент особенно важен для громоздких сайтов, в которых важна навигация по контенту.
Надеюсь что информация была полезна и многие воспользуются моим советом
Вконтакте
Google+
Это интересно
Подписаться на новости
Breadcrumb — плагин для WordPress | WordPress.org
Breadcrumb — это простой и легкий плагин для отображения хлебных крошек на вашем сайте WordPress, который легко настроить и изменить стиль для хлебных крошек. Вы можете использовать обработчик фильтра и обработчик действия, чтобы переписать плагин без редактирования кода плагина. Этот плагин почти работает на всех страницах WordPress, таких как архив, категория, теги, настраиваемые таксономии, настраиваемые типы сообщений, сообщение по умолчанию, дата, год, месяц, автор и страница поиска для динамического отображения хлебных крошек.
Breadcrumb от http://pickplugins.com
Учебники
Возможности плагина
Использование с помощью коротких кодов
С помощью коротких кодов вы можете отображать хлебные крошки в любом месте.
Отображать где угодно
Отображение хлебных крошек на домашней странице, любом типе сообщения, странице, родительских страницах, странице автора, странице архива, странице тегов, странице настраиваемой таксономии, странице поиска, магазине woocommerce, страницах продуктов.
Пользовательский текст на лицевой стороне
Вы можете отобразить пользовательский префиксный текст перед началом навигации.
Пользовательский текст разделителя
Вы можете установить пользовательский текст разделителя по своему усмотрению и согласовать с вашей темой. вы также можете скрыть последний разделитель, если хотите.
Ограничить текст ссылки в словах
Вы можете ограничить количество слов или символов в тексте ссылки и использовать настраиваемый конечный текст.
Скрыть текст «Home»
вы можете скрыть или отобразить элементы «Home» на хлебной крошке
Пользовательский размер шрифта для текста ссылки
вы можете установить собственный размер шрифта для текста ссылки
Поле для заполнения контейнера
Установите пользовательские поля и отступы для контейнера хлебных крошек.
Пользовательский цвет
Вы можете установить собственный цвет текста для текста ссылки, разделителя и цвет фона ссылки
Блокировка с помощью крючка фильтра
Вы можете отключить элемент хлебной крошки с помощью крючка фильтра.
Премиум-функции
Скрыть в архивах
Вы можете динамически скрывать хлебные крошки на страницах архива, таких как Первая страница, Домашняя страница, Блог, Автор, Поиск, Год, Месяц, Дата, Категории, Теги
Скрыть по типам сообщений
Скрыть иерархию на основе разных типов сообщений.
Скрыть по идентификаторам сообщений
Скрыть иерархию на основе идентификаторов сообщений, вы можете использовать любые идентификаторы сообщений, чтобы скрыть иерархию, чтобы скрыть любую конкретную публикацию, также поддерживаются пользовательские типы сообщений.
Перевод
Плагин
— это готовый к переводу файл default-en.po по умолчанию, расположенный в следующем каталоге
хлебная крошка \ languages \
, вы можете добавить свой собственный перевод, если вам нужна помощь, пожалуйста, свяжитесь с нами.
- Установить как обычный плагин WordPress.
- Перейдите в настройки плагина через панель управления WordPress и найдите « Breadcrumb », чтобы активировать его.
После активации плагина вы увидите меню «Breadcrumb» слева на панели инструментов WordPress
Как отобразить хлебную крошку?
используйте этот короткий код в любом месте для отображения навигационной цепочки
[навигационная цепочка]
«Breadcrumb» — программное обеспечение с открытым исходным кодом. Следующие люди внесли свой вклад в этот плагин.
авторов
1.5.20
* 2021-04-16 - fix - исправлена ошибка php
1.5.19
* 2021-04-15 - исправление - незначительное обновление проблемы безопасности
1.5.18
* 2021-04-13- fix - обновление проблемы безопасности
1.5.17
* 2020-06-11- add - отображать первую категорию поста, если в URL-адресе пропущен слаг категории
1.
5.16
* 2020-06-10 - add - Опубликовать элемент предков для страницы.
1.5,15
* 2020-02-06 - добавлено - "Название тега" для тегов продуктов woocommerce в построителе хлебных крошек
* 2020-02-06 - добавлено - "Магазин" для категорий продуктов woocommerce в построителе хлебных крошек
* 2020-02-06 - обновление - оптимизация загрузки css и js фреймворка "вкладки настроек".
1.5.14
* 2020-02-06 - исправлено - исправлена проблема «Нет заголовка».
1.5.13
* 2020-02-05 - исправление - Исправлена ошибка, связанная с невозможностью повторно объявить breadcrumb_main_items ().
1.5.12
* 2020-02-05 - добавлено - добавлена опция удаления навигационной крошки WooCommerce по умолчанию.
1.5.11
* 2020-02-03 - add - исправлена проблема с категорией var_export в построителе хлебных крошек.
* 2020-02-03 - add - исправлена проблема с выводом тега построителя хлебных крошек.
* 2020-02-03 - добавлено - добавлено больше туториалов
1.5.10
* 2020-02-03 - add - добавлен построитель хлебных крошек.
1.5.9
* 2020-02-02 - fix - исправлена проблема родительско-дочерней категории.* 2020-02-02 - удалить - удалить значение по умолчанию для параметров.
1,5,8
* 2020-01-31 - добавлено - добавлено больше руководств
* 2020-01-31 - fix - исправлена проблема с переводом для некоторой строки.
1,5,7
* 2020-01-31 - add - добавлена ссылка на руководства в разделе справки
1.5.6
* 2020-01-30 - добавить - скрыть хлебные крошки css для пустых аргументов.
1,5,5
* 2020-01-30 - add - добавлен крючок действия (breadcrumb_main) для области хлебных крошек
* 2020-01-30 - add - добавлен крючок для фильтра breadcrumb_items_array
* 2020-01-30 - add - добавлен хук действия breadcrumb_main_item_loop
* 30.01.2020 - добавлено - добавлен крючок фильтра breadcrumb_link_text
* 30.01.2020 - добавлено - добавлен крючок фильтра breadcrumb_link_url
* 2020-01-30 - add - добавлено поле ввода для добавления пользовательских javascripts
* 2020-01-30 - add - добавлена разметка схемы внизу хлебной крошки.
1.5.4
* 2020-01-28 - исправлено - исправлена проблема с постоянной ссылкой для одного сообщения
1.5.3
* 07.03.2019 - добавлено - Текст по умолчанию для пустого заголовка.
1.5.2
* 29.05.2019 - fix - исправлена проблема с предварительным просмотром поста.
1.5.1
* 24.04.2019 - обновление - переписать плагин.
* 24.04.2019 - обновление - обновлены админские настройки.
* 24.04.2019 - add - добавлена поддержка WooCommerce.
* 24.04.2019 - add - добавлен хук фильтра для пунктов хлебной крошки.
1.5.0
* 18.10.2017 - обновление - добавлена ссылка на поддержку.
1,5
* 03.03.2016 - 03.03.2016 - обновление - обновление пользовательского интерфейса настроек администратора.
* 03.03.2016 - добавлено - навигационная цепочка для архивов даты, года, месяца.
* 03.03.2016 - добавлено - структура постоянных ссылок одного сообщения для автора.
1,4
* 17.10.2015 - http://schema.org - реализовано.
1,3
* 17.10.2015 - fix - Исправлена проблема с SSL.
1,2
* 04.03.2015 - add - ссылка на родительскую страницу неограниченной глубины на хлебной крошке.
1,1
* 23.03.2015 - add - ссылка на родительскую страницу на хлебной крошке.
1,0
* 27.10.2014 г. Первый выпуск.
Breadcrumb NavXT — плагин для WordPress
Описание
Breadcrumb NavXT, преемник популярного плагина WordPress Breadcrumb Navigation XT, был написан с нуля, чтобы быть лучше своего предка.Этот плагин генерирует локационные навигационные цепочки для вашего блога или веб-сайта на WordPress. Эти хлебные крошки легко настраиваются в соответствии с потребностями практически любого веб-сайта, на котором работает WordPress. Административный интерфейс упрощает настройку параметров, в то время как прямой доступ к классу доступен разработчикам тем и более предприимчивым пользователям.
Требования PHP
Breadcrumb NavXT 5.2 и более поздние версии требуют PHP5.3
Breadcrumb NavXT 5.1.1 и более ранние версии требуют PHP5.2
Характеристики (неполные)
- Схема формата RDFa.org BreadcrumbList — совместимое поколение хлебных крошек.
- Обширное управление настройкой хлебных крошек на странице настроек с соответствующими значениями по умолчанию для большинства случаев использования.
- Страница настроек сетевого администратора для управления настройками навигации для всех дочерних сайтов с настраиваемым глобальным приоритетом.
- Встроенный виджет WordPress.
- Расширяется через ООП и предоставляет действия и фильтры.
- Совместимость с WPML (улучшенная совместимость с плагином расширений WPML).
- Совместимость с Polylang (улучшенная совместимость с плагином расширений Polylang).
- совместимость с bbPress (улучшенная совместимость с плагином расширений bbPress).
- Совместимость с BuddyPress (улучшенная совместимость с плагином расширений BuddyPress).
Переводы
Breadcrumb NavXT теперь поддерживает языковые пакеты WordPress.org. Хотите перевести Breadcrumb NavXT? Посетите проект перевода Breadcrumb NavXT на WordPress.org.
Блоки
Этот плагин предоставляет 1 блок.
Установка
Breadcrumb NavXT можно установить из административной панели WordPress.После установки и активации плагина для отображения цепочек навигации используйте включенный виджет или вызовите цепочку навигации в своей теме (или дочерней теме). См. Статью Calling the Breadcrumb Trail для получения дополнительной информации о том, как вызвать функцию breadcrumb Trail.
Чтобы настроить цепочку навигации, вы можете изменить значения по умолчанию для параметров в административном интерфейсе. Он находится в вашей административной панели в разделе «Настройки»> «Breadcrumb NavXT».
Пожалуйста, посетите страницу документации Breadcrumb NavXT для получения дополнительной информации.
Авторы и разработчики
«Breadcrumb NavXT» — программное обеспечение с открытым исходным кодом. Следующие люди внесли свой вклад в этот плагин.
авторов
История изменений
6.6.0
Дата выпуска: 31.10.2020
- Изменение поведения: теперь для архива типа используется тип сообщения родительского сообщения, а не текущий элемент.
- Исправление ошибки: исправлена ошибка, возникающая, когда сайт не имеет роли администратора
6.5.0
Дата выпуска: 12.06.2020
- Изменение поведения: переход на использование таксономии термина вместо передачи в таксономию в различных функциях. Как следствие, это позволяет
bcn_pick_post_term
отменять выбор таксономии. - Изменение поведения: шаблон по умолчанию для несвязанных хлебных крошек теперь включает разметку списка хлебных крошек.
- Новая функция: добавлен новый фильтр
bcn_breadcrumb_linked
. - Новая функция: добавлены новые возможности WordPress:
bnc_manage_options
. - Исправление ошибки: исправлен экспортер параметров XML, так что он больше не создает искаженные файлы, которые нельзя импортировать, если параметры содержат специальные объекты HTML.
6.4.0
Дата выпуска: 31.12.2019
- Изменение поведения: настройки типа прикрепленного сообщения перемещены в раздел «Медиа», стали доступны дополнительные параметры типа сообщения.
- Изменение поведения: опубликованные в частном порядке родительские сообщения теперь по умолчанию пропускаются в цепочках навигации.
- Изменение поведения: в цепочках навигации по отдельным постам иерархический путь кода терминов теперь используется в тех случаях, когда для текущего поста присутствует только один термин из неиерархической таксономии.
- Новая функция: разрешить тег
% link%
в несвязанных шаблонах хлебных крошек. - Новая функция: добавлен фильтр
bcn_show_post_private
. - Новая функция: добавлен фильтр
bcn_show_type_term_archive
.
6.3.0
Дата выпуска: 3 мая 2019 г.
- Новая функция: добавлен блок Гутенберга для отображения цепочек навигации.
- Новая функция: добавлен фильтр
bcn_display_attribute_array
. - Новая функция: добавлен тег шаблона
bcn-aria-current
для облегчения поддержки WAI-ARIA Breadcrumb. - Исправление ошибки: обновлена страница настроек в соответствии с основными стандартами WP для структуры заголовков.
- Исправление ошибки: обновлен флажок в adminKit, чтобы исключить несколько меток для соответствия WCAG 2.0.
- : Исправлена ошибка PHP в случаях, когда
bcn_breadcrumb_trail :: fill ()
отказывался от обработки неизвестного элемента как таксономии.
Исправление ошибки
6.2.1
Дата выпуска: 26.10.2018
- Изменение поведения: добавлен элемент
span
, заключающий заголовок хлебных крошек в несвязанный по умолчанию шаблон хлебных крошек. - Исправление ошибки: исправлена проблема, которая вызвала предупреждения PHP и сообщения «следующие настройки не были сохранены» для иерархических CPT.
6.2.0
Дата выпуска: 24.09.2018
- Изменение поведения: очищены переводы для шаблонов по умолчанию, упрощено и уточнено переводимое содержание.
- Изменение поведения: стандартные несвязанные шаблоны хлебных крошек больше не содержат разметку Schema.org BreadcrumbList.
- Изменение поведения: конечные точки Breadcrumb NavXT REST API больше не включены по умолчанию.
- Новая функция: добавлен фильтр
bcn_register_rest_endpoint
. - Новая функция: добавлен фильтр
bcn_breadcrumb_assembled_json_ld_array
. - Новая функция: добавлена поддержка для отслеживания сначала родительской иерархии постов, а затем возврата к вторичной иерархии.
- Исправление ошибки: исправлена ошибка, из-за которой при загрузке страницы настроек сразу после переноса настроек возникали предупреждения PHP о настройках CPT и пользовательской таксономии.
- Исправление ошибки: исправлена проблема, из-за которой параметр сброса настроек в раскрывающемся списке справки не работал.
6.1.0
Дата выпуска: 01.06.2018
- Изменение поведения: ссылки для создания запросов в службу поддержки перенесены на форумы WordPress.org.
- Новая функция: добавлена поддержка Schema.org BreadcrumbList (формат микроданных) во включенный виджет.
- Новая функция: Добавлена поддержка новой корневой страницы для архивов авторов.
- Новая функция: добавлена конечная точка REST API для сообщений, терминов и архивов авторов.
- Исправление ошибки: исправлена метка для схемы.org BreadcrumbList (формат RDFa) во включенном виджете.
- Исправление ошибки: исправлена проблема, при которой выдавалось предупреждение PHP из-за того, что
get_term ()
возвращал что-то, кроме экземпляраWP_Term
.
6.0.4
Дата выпуска: 26 января 2018 г.
- Изменение поведения: добавлена автоматическая миграция настроек иерархии типов записей в функции
bcn_display * ()
. - Исправление ошибки: исправлена проблема, из-за которой на странице для сообщений создавалось уведомление PHP, если для параметра отображения цепочки блога задано значение false.
- Исправление ошибки: исправлена ошибка, из-за которой PHP-уведомление создавалось на страницах архива, где вложения были включены в результаты
wp_query
.
6.0.3
Дата выпуска: 01.01.2018
- Исправление ошибки: исправлена ошибка, из-за которой при некоторых обстоятельствах в следе для страниц создавалась неправильная навигационная цепочка.
- Исправление ошибки: исправлена проблема, из-за которой корни публикации и страницы не обновлялись для отслеживания пользовательских изменений в меню «Настройки»> «Чтение».
6.0.2
Дата выпуска: 30 декабря 2017 г.
- Изменение поведения: добавлено предупреждение о том, что
bcn_breadcrumb :: type
должен быть массивом. - Исправление ошибки: изменен разделитель хлебных крошек и шаблон страницы с поля ввода на текстовое поле, чтобы уменьшить путаницу, вызванную сущностями HTML.
- Исправление ошибки: исправлена ошибка, из-за которой родители страницы могли не отображаться в цепочке навигации.
- Исправление ошибки: исправлена ошибка, из-за которой параметр
$ reverse
дляbcn_display
иbcn_display_list
не работал должным образом. - Исправление ошибки: исправлена ошибка, из-за которой функция
bcn_display_list
не включала элементыli
.
6.0.1
Дата выпуска: 28 декабря 2017 г.
- Изменение поведения: со страницы настроек удалены неиспользуемые шаблон блога и шаблон блога (не связанный).
- Исправление ошибки: исправлена проблема, из-за которой изменения типа иерархии для любого типа сообщения не сохранялись.
- Исправление ошибки: исправлена ошибка, из-за которой параметр отображения блога игнорировался.
6.0.0
Дата выпуска: 26 декабря 2017 г.
- Изменение поведения:
bcn_breadcrumb_trail :: display_list ()
устарело в пользу использования параметра$ template
вbcn_breadcrumb_trail :: display ()
. - Изменение поведения:
bcn_breadcrumb_trail :: do_attachment ()
устарело в пользу вызоваbcn_breadcrumb_trail :: do_post ()
. - Изменение поведения:
bcn_breadcrumb_trail :: do_front_page ()
устарело в пользу вызоваbcn_breadcrumb_trail :: do_home ()
. - Изменение поведения:
bcn_li_attributes
фильтр устарел в пользуbcn_display_attributes
. - Изменение поведения:
bcn_breadcrumb_trail :: do_archive_by_date ()
устарело в пользу вызова bcn_breadcrumb_trail :: do_day (),
bcn_breadcrumb_trail :: do_month_ ()и / или
bcnumbtrail (). - Изменение поведения:
bcn_breadcrumb_trail :: find_type ()
устарело и удалено из bcn_breadcrumb_trail. - Изменение поведения: хлебная крошка для страниц с ошибкой 404 изменена на дочернюю по отношению к главной странице.
- Новая функция: добавлена поддержка различных HTML-тегов в поле pretext виджета.
- Новая функция: добавлен фильтр
bcn_default_hierarchy_display
. - Новая функция: добавлен фильтр
bcn_default_hierarchy_type
. - Новая функция: добавлено
$ posttype_name
в качестве третьего параметра вbcn_show_tax_private
. - Исправление ошибки: исправлена проблема пользовательского интерфейса / пользовательского интерфейса на экране настроек, из-за которой включение / отключение групп настроек для настроек навигации «Домой», «Блог» и «Главный сайт» не работало.
- Исправление ошибки: исправлена проблема пользовательского интерфейса / пользовательского интерфейса на экране настроек, из-за которой без включения разбитой на страницы навигационной цепочки по-прежнему можно было редактировать разбитую на страницы навигационную цепочку.
- Исправление ошибки: удалено использование
create_function
при регистрации виджета, поскольку оно устарело в PHP 7.2.
Как добавить панировочные сухари на сайт WordPress с помощью Astra?
Astra — популярная тема WordPress, которая предлагает встроенную функцию хлебных крошек. Тема также предлагает различные настройки с выделенными цветами и опциями типографики.
Как включить хлебные крошки?
Чтобы включить панировочные сухари, вам просто нужно установить и активировать тему Astra. Чтобы изучить настройки, на панели инструментов WordPress перейдите к Внешний вид> Настроить> Breadcrumb .
В этой статье мы увидим —
Настройки хлебных крошек в Astra
Ниже приведены доступные настройки для Breadcrumb
.
- Позиция: Этот параметр позволяет выбрать место для отображения хлебных крошек.Выберите, где вы хотите их отображать. Текущий, вы можете выбрать отображение внутри заголовка, после заголовка или перед заголовком.
- Разделитель: Вы можете установить собственные разделители между ссылками навигации.
- Отключить хлебные крошки на определенных страницах / сообщении: Вы увидите список страниц и сообщений, на которых вы можете отключить хлебные крошки. К ним относятся категории, страницы архива, страницы 404 и т. Д. (Вы можете отключить навигационные цепочки на отдельных страницах и сообщениях с помощью мета-настроек публикации)
- Выравнивание: Вы можете выбрать выравнивание для отображения своей навигационной крошки
- Интервал : Настроить расстояние со всех сторон
Параметры цвета и типографики для хлебных крошек
По умолчанию хлебные крошки наследуют цвет и типографику от темы.Но если вы хотите выделить их разными цветами и шрифтами, у вас есть специальные варианты для панировочных сухарей. В настройщике перейдите к — Настроить> Хлебные крошки> Типографика
.
Показывайте панировочные сухари где угодно!
В настоящее время Astra позволяет отображать хлебные крошки только в трех местах — внутри заголовка, после заголовка и перед заголовком.
Что делать, если вы хотите отобразить его где угодно на странице или в публикации? Вы можете сделать это с помощью шорткода.
Вставьте этот шорткод в любой пользовательский макет, текст или HTML-блок на своем веб-сайте и увидите, как там появляются хлебные крошки — [astra_breadcrumb]
Поддержка сторонних плагинов
Наряду со встроенной функцией хлебных крошек, Astra также поддерживает хлебные крошки из следующих внешних плагинов —
Вы можете отключить параметры Astra по умолчанию и использовать панировочные сухари из вышеуказанных плагинов. Хотя хлебные крошки извлекаются из вышеуказанных плагинов, вы все равно можете управлять стилями, такими как цвета и типографика, через Astra.
Как панировочные сухари из этих плагинов можно использовать с Astra?
1. С плагином Yoast SEO:
- Установите и активируйте плагин Yoast SEO
- Активируйте плагин Breadcrumb для Yoast SEO из панели управления WordPress > SEO> Внешний вид в поиске> Панировочные сухари> Включить панировочные сухари
- Вы увидите опцию в Настройщике> Макет> Breadcrumb> Breadcrumb Источник. Выберите Yoast SEO Breadcrumb.
- Теперь разметка Yoast SEO Breadcrumb должна начать появляться на страницах вместо стандартной Astra Breadcrumb.
- Все параметры цвета и типографики из настройщика переопределят стиль Yoast SEO Breadcrumb.
- Все варианты отключения хлебных крошек в определенных местах также будут работать с плагином Yoast SEO.
Скриншот Yoast Backend —
Вариант Yoast в настройщике —
2.С подключаемым модулем Breadcrumb NavXT
- Установите и активируйте плагин Breadcrumb NavXT
- Вы увидите опцию в Настройщике > Breadcrumb> Breadcrumb Source . Выберите Breadcrumb NavXT.
- Теперь разметка Breadcrumb NavXT начнет появляться на страницах вместо стандартной Astra Breadcrumb.
- Все параметры цвета и типографики из настройщика переопределят стиль Breadcrumb NavXT.
- Все параметры отключения хлебных крошек в определенных местах также будут работать с плагином Breadcrumb NavXT.
3. С плагином Rank Math
- Установите и активируйте подключаемый модуль Rank Math
- Установите панировочные сухари с помощью Dashboard> Rank Math> Общие настройки> панировочные сухари
- Вы увидите опцию в Настройщике > Breadcrumb> Breadcrumb Source . Выберите Rank Math.
- Теперь разметка Rank Math начнет появляться на страницах вместо стандартной Astra Breadcrumb.
- Все параметры цвета и типографики из настройщика переопределят стиль Rank Math.
- Все параметры отключения навигации в определенных местах также будут работать с плагином Rank Math.
Лучшие бесплатные плагины для WordPress Breadcrumb 2021
Для повышения доступности веб-сайта для пользователей созданы подключаемых модулей WordPress Breadcrumb .
Если какой-либо пользователь посетил домашнюю страницу, затем страницу категорий, затем страницу «Свяжитесь с нами» и еще раз, если пользователь хочет посетить домашнюю страницу, тогда должна быть возможность быстро перейти на предыдущую страницу.В простых хлебных крошках создайте дорожную карту для пользователя, чтобы перемещаться по вашему веб-сайту.
Пример созданных панировочных сухарей, которые помогают в SEO
Домой> Категории> Свяжитесь с нами
3 типа хлебных крошек:
— на основе местоположения
— на основе пути
— на основе атрибутов
Лучшие плагины для WordPress Breadcrumb приведены ниже
1. Панировочные сухари NavXT:
Плагин
Breadcrumb NavXT — лучший плагин WordPress Breadcrumb , поскольку он помогает улучшить производительность SEO.Он изображает цепочку, ведущую к текущей странице, а не цепочку, которая показывает путь, пройденный до текущей страницы.
Плагин
Breadcrumb создан на виджете WordPress. Это особенно подходит для WordPress 4.0. Этот плагин совместим с WPML, Polylang, bbPress и BuddyPress. Плагин Breadcrumb NavXT доступен бесплатно и с дополнительной платной опцией.
2. Панировочные сухари:
С помощью шорткодов вы можете отображать иерархическую навигацию в любом месте веб-сайта с помощью этого плагина.Он состоит из красивых функций, по которым посетители могут отслеживать местоположение.
Breadcrumb очень легко настроить, так как вы можете легко изменить цвет, Padding Margin, фильтр, размер шрифта, текст, ограничить текст ссылки на слово и т. Д. Этот плагин также поддерживает многоязычную функциональность, поэтому Breadcrumb готов к переводу, и вы можете предоставить свой собственный перевод.
3. Гибкая хлебная крошка:
Flexy Breadcrumb — это программное обеспечение с открытым исходным кодом, которое очень гибкое и простое в навигации, поэтому этот плагин оптимизирован для SEO, что помогает поисковой системе быстрее ранжировать веб-сайт.
У вас есть полное разрешение на изменение разделителя хлебных крошек и установку начального и конечного текста. К этому плагину также можно получить доступ через шорткоды. Кроме того, различные параметры цвета предоставляются через глобальные настройки для текста, разделителя, ссылки и фона.
4. Простая хлебная крошка:
Плагин
Breadcrumb очень прост и удобен в использовании, его легко установить. Если вы хотите просмотреть хлебные крошки, вам просто нужно скопировать и вставить шорткод, т.е.[breadcrumb_simple]
Этот плагин можно использовать для последней версии WordPress. Простой плагин Breadcrumb также является программным обеспечением с открытым исходным кодом, которое может использовать любой пользователь, не требующий предварительного разрешения, поэтому он доступен бесплатно, также доступна платная версия.
5. Панировочные сухари WooCommerce:
Навигационная цепочка WooCommerce специально используется для повышения удобства использования веб-сайта WooCommerce. Этот плагин также очень прост в использовании, что позволяет вам изменять порядок навигации WooCommerce.Вы также можете изменить список, чтобы он отображался в несортированном списке. Это лучший плагинов WordPress Breadcrumb .
С помощью функций настройки у вас есть полный контроль над изменением параметра, переставляя хлебные крошки в другом стиле. Вы можете использовать такие функции, как разделитель хлебных крошек, перенос до, перенос после, до, после, домашний текст, домашний URL.
6. Панировочные сухари:
С помощью плагина catch breadcrumb вы можете легко добавить стабильную навигацию по хлебным крошкам на свой сайт.Этот плагин очень прост в использовании и настройке. который предоставляет различные варианты настройки. вы можете применить изменения по своему усмотрению.
Catch Breadcrumb совместим с короткими кодами, селектором хлебных крошек, разделителем. Следовательно, эти плагины очень легкие по своей природе.
7. Горячие панировочные сухари:
Плагин
Hot Breadcrumbs предоставляется HotThemes, специально созданным для пользователей WordPress. Виджет Hot Breadcrumbs создает дорожную карту с цепочкой ссылок вашего веб-сайта.Он использует структурированные данные для отображения ссылки иерархии.
С помощью этой темы пользователь сможет перемещаться по сайту от начала до конца, а также может вернуться назад, используя цепочку. Это действительно помогает движку быстро сканировать веб-сайт. Он очень эффективно работает с контентом веб-сайта WordPress, который включает записи, страницы, категории, теги и страницы авторов.
8. Панировочные сухари для SEO:
Плагин
SEO Breadcrumbs прост в использовании и настройке. Кроме того, этот плагин является адаптивным, что помогает поисковой системе ранжировать сайт в топ.Следовательно, это увеличивает производительность SEO.
У вас есть 5 различных вариантов навигации, которые вы можете добавить на свой веб-сайт. вы можете легко показать хлебную крошку в сообщении, на странице, в таксономиях, вложениях, ошибке 404 и т. д.
Этот плагин можно использовать для любого типа веб-сайта WordPress. Мобильное сенсорное устройство и Google; поддерживаются функции расширенного описания веб-страниц. Также доступны различные шорткоды, которые можно использовать с любым из них.
9. Разметка для хлебных крошек схемы | Дополнение WPSSO:
Для повышения эффективности SEO для топовых сайтов используется разметка Schema Breadcrumbs.Нет доступных шаблонов для настройки. Вам просто нужно активировать или деактивировать плагин для разметки schema breadcrumbList.
К сообщениям, страницам и пользовательским сообщениям можно добавить разметку схемы хлебных крошек. WPSSO Schema Breadcrumbs Markup — это дополнение основного подключаемого модуля WPSSO. Этот плагин также является программным обеспечением с открытым исходным кодом, поэтому доступен бесплатно.
О сообщениях Shri
Shri делится интересными темами WordPress, плагинами и другими новостями, связанными с WordPress, для наших зрителей.Он также время от времени публикует интервью с избранными разработчиками WordPress.
Посмотреть все сообщения Shri Posts
Работа с панировочными сухарями нескольких категорий
Если статье присвоено несколько категорий, она появляется во всех присвоенных ей категориях. Это означает, что нужно обновить только одну статью. Например, статья о том, как сбросить пароль, может быть разделена на три категории: —
База знаний> Учетная запись> Как сбросить пароль?
База знаний> Приложение> Учетная запись> Как сбросить пароль?
База знаний> Запросы по сайту> Как сбросить пароль?
Навигационная цепочка будет отображаться для каждой категории, присвоенной статье.Это ожидаемое поведение, потому что WordPress не сохраняет записи о пути, по которому посетитель достиг статьи, или статья могла быть достигнута напрямую.
Если вы хотите изменить стандартное поведение, чтобы отобразить что-то другое, вам нужно будет воспользоваться одним из следующих подходов:
Отключить панировочные сухари
Панировочные сухари
можно полностью отключить в Базе знаний > Настройки> Общие> Показать панировочные сухари в базе знаний .Это самый простой способ удалить панировочные сухари с
.
Создайте повторяющиеся статьи и назначьте только одну категорию
Используя такой плагин, как Duplicate Post, вы можете создать копию статьи для каждой категории. Назначьте каждому клону отдельную категорию.
Обратной стороной этого подхода является то, что каждая из этих статей будет иметь собственное голосование комментариев и мета, и вам нужно будет обновить каждую статью, если вы хотите внести изменения в содержание.
Скрыть все остальные категории панировочных сухарей
Используя CSS, вы можете скрыть все, кроме первой строки навигации.
KnowAll
Откройте настройщик тем с:
Внешний вид > Настроить > Тема > Пользовательский CSS
и вставьте код ниже
Автономный плагин
База знаний> Настройки> Пользовательский стиль
Добавить весь этот фрагмент CSS
/ * Изначально скрыть все панировочные сухари * / .hkb-breadcrumbs { дисплей: нет; } / * Повторно показать первую дочернюю крошку * / .hkb-breadcrumbs: nth-child (1) { дисплей: начальный; }
Лучшие плагины для навигации (и их важность для SEO)
На самом базовом уровне плагины хлебных крошек предназначены для повышения удобства использования вашего веб-сайта. То, как пользователи перемещаются по веб-сайту, в лучшем случае хаотично. Вы никогда не сможете точно предсказать, как и где они войдут на одну из ваших страниц. Цитата ниже прекрасно описывает это:
«Сайт — это не дом — люди не только входят через парадную дверь.Они приходят волей-неволей через крышу, канализацию, окна и стены. Такова природа Интернета, и вам будет легче добиться успеха, если вы создадите сайт, который соответствует этой реальности ».
Учитывая эту истину, ваш веб-сайт должен быть спроектирован таким образом, чтобы, если кто-то попал на страницу продукта, он мог легко перейти на вашу домашнюю страницу, страницу категорий или другой тип продукта. Хлебные крошки помогают нам в этом, создавая интерактивный план действий на вашем сайте.
Вот о чем мы говорим сегодня:
● Что такое панировочные сухари и почему они важны для SEO?
● 5 лучших плагинов для навигации по цепочке для WordPress
● Как реализовать цепочку для навигации в WordPress
Что такое панировочные сухари? Почему они важны для SEO?
Панировочные сухари бывают нескольких различных типов, но все они предназначены для того, чтобы показать пользователю или поисковой системе, где расположена определенная страница по отношению к остальной части сайта. Пользователи могут щелкнуть любую крошку в следе, чтобы мгновенно перейти на эту страницу.
Хотя в типичном списке советов по поисковой оптимизации не может быть панировочных сухарей, они все равно повышают ценность вашего сайта. Пример списка хлебных крошек будет примерно таким:
Главная> Департаменты> Электроника> Фильмы и игры
Технически существует 3 типа панировочных сухарей, но чаще всего используется вариант, основанный на местоположении. В противном случае вы можете рискнуть создать дублированный контент, даже не осознавая этого. Это три типа:
● На основе местоположения — сообщает пользователю, где находится текущая страница по отношению к общей структуре веб-сайта.
● На основе пути — это более динамические хлебные крошки, которые показывают уникальный путь пользователя к странице.
● На основе атрибутов — этот последний тип показывает атрибуты страницы, такие как тип, категория, продукт, бренд и т. Д. Они более подробны, чем другие панировочные сухари, и, как следствие, сложнее.
Итак, почему это важно для SEO? Что ж, Google не только заменил URL-адрес в результатах поиска на имя сайта и путь крошки для мобильных пользователей, но и эта функция также улучшает общий пользовательский интерфейс для вашего сайта, что является повышенным вниманием в SEO.
Для всех пользователей WordPress, давайте взглянем на пять плагинов хлебных крошек, которые помогут вам реализовать эту функцию на вашем сайте!
5 лучших плагинов для WordPress
Хотя можно сделать свои панировочные сухари, как говорится, «ни у кого нет на это времени!» Сегодня я собираюсь показать вам пять плагинов для WordPress, которые вы можете использовать, чтобы без проблем реализовать эту функцию.
1. Yoast SEO
Yoast наиболее известен своим плагином для SEO.Раньше вам приходилось загружать отдельный плагин для функции хлебных крошек, но теперь вы можете загрузить плагин Yoast SEO и получить все необходимое для оптимизации на странице, а также функции навигации в одном удобном месте.
2. Тропа хлебных крошек
Этот плагин обладает уникальной способностью определять вашу структуру постоянных ссылок и использовать ее для создания настраиваемой цепочки навигации для страниц вашего сайта. Пользовательские типы сообщений, таксономии.все, что у вас происходит, может обнаружить все это и предложить вам решение.
В целом, плагин Breadcrumb Trail имеет отличную репутацию среди отзывов пользователей, а также предлагает разработчикам плагинов / тем ловушки для дальнейшей настройки трейлов с помощью методов объектно-ориентированного программирования, которые уже закодированы в плагине.
3. RDFa Breadcrumb
Эти уникальные подключаемые модули функционируют путем обратных ссылок на каждую страницу, которую посетил пользователь, в иерархической структуре.По сути, он создает настраиваемые цепочки навигации для каждого пользователя. Плагин RDFa Breadcrumb также предоставляет вам новый тег шаблона rdfa_breadcrumb (), который вы можете разместить в любом месте файлов шаблона.
Это позволяет Google распознавать разметку контента и отображать ее в поисковой выдаче.
4. Хлебная крошка NavXT
Этот плагин является преемником чрезвычайно популярной Breadcrumb Navigation XT. Breadcrumb NavXT имеет возможность создавать навигационные цепочки местоположения на основе уникального пути пользователя.Плагин также легко настраивается для тех, кто хочет настроить параметры в соответствии со своим сайтом.
Некоторые из этих настроек включают действия и фильтры ООП, совместимость с WPML и совместимость с bbPress. Значения по умолчанию подойдут в большинстве случаев и для тех, кому нужна функция Plug and Play.
Реализация хлебных крошек в WordPress
Итак, вот интересный факт:
У Google есть команда хлебных крошек.
Не верьте мне, посмотрите это видео, в котором Мэтт Каттс объясняет хлебные крошки в результатах поиска и послушайте тот момент, когда он упоминает команду хлебных крошек.Как и все в WordPress, вы можете реализовать свои хлебные крошки вручную или с помощью плагина.
В некоторых случаях, как в случае с плагином Yoast выше, это функция в плагинах SEO, но мы также видели отдельные плагины для этой цели. С некоторыми из этих плагинов вам будет предоставлен код для размещения в вашей теме.
Большинство панировочных сухарей размещаются вверху каждой страницы. Для этого просто поместите код в конец файла header.php. Это так просто! Другие плагины сделают это за вас, но если вам будет предоставлен код, это место для его размещения.Кроме того, некоторые темы имеют встроенную функцию хлебных крошек.
Последние мысли
«Хлебные крошки» не улучшат и не сломают вашу SEO-оптимизацию, но они будут творить чудеса для пользовательского опыта на вашем сайте. Эти плагины навигации — простой способ реализовать простую, но эффективную функцию в дизайне вашего сайта.
Вы пробовали что-нибудь из этого? Какой у вас опыт работы с панировочными сухарями? Поделитесь своими мыслями в комментариях!
Руководство по использованию WordPress для хлебных крошек — Блог Visualmodo
Вы хотите, чтобы на вашем сайте WordPress отображались навигационные ссылки хлебных крошек? Навигация по хлебным крошкам — это вторичная система навигации, которая сообщает пользователям, где они находятся на веб-сайте относительно домашней страницы.В этой статье мы покажем вам, как отображать ссылки навигации в WordPress.
Вы могли бы подумать, что добавить такую интегрированную систему мотивации на ваш сайт будет сложно, но на самом деле это довольно просто с использованием плагина. Фактически, если вы используете плагин Yoast SEO, у вас есть преимущество, потому что функция хлебных крошек уже встроена в Yoast! И добавление панировочных сухарей через Yoast определенно является одним из наиболее предпочтительных методов. Помимо Yoast SEO, плагин Breadcrumb NavXT — еще один отличный вариант, который легко настраивается и хорошо работает с нашими собственными темами.
Использование подключаемого модуля Yoast
Чтобы добавить хлебные крошки на свой сайт WordPress с помощью Yoast SEO, вам нужно будет выполнить три простых шага: Установить и активировать плагин Yoast SEO. Добавление фрагмента кода хлебных крошек в вашу тему WordPress. Включите / настройте Yoast Breadcrumbs в настройках плагина
Чтобы установить плагин Yoast SEO, перейдите на панель управления WordPress и выберите «Плагины»> «Добавить новый». Затем найдите репозиторий WordPress по запросу «yoast». Когда вы увидите плагин Yoast SEO, нажмите, чтобы установить и активировать плагин.
Фрагмент кода для вашей дочерней темы
Затем нам нужно добавить короткий фрагмент кода в файлы темы WordPress. Итак, если вы еще этого не сделали, неплохо создать дочернюю тему. В этом примере я покажу вам, как добавить фрагмент кода в тему TwentyNineteen по умолчанию WordPress. Вы можете добавить код в любой файл / шаблон темы, но по большей части вы захотите добавить его в свой файл single.php (чтобы отображался во всех сообщениях), файл page.php (чтобы отображался на всех страницах). ) или в шапку.php (для отображения по всему сайту).
В этом примере я собираюсь добавить код хлебных крошек в файл header.php моей дочерней темы. После копирования файла header.php из родительской темы откройте его для редактирования в любом редакторе кода. Затем в самом низу файла header.php добавьте следующий фрагмент PHP, предоставленный Yoast, чтобы активировать функциональность: Это будет отображать хлебные крошки непосредственно под заголовком всех страниц, обычное размещение для хлебных крошек.
Панировочные сухари для подключаемого модуля Yoast
После того, как фрагмент кода был добавлен в вашу дочернюю тему WordPress, все, что вам осталось сделать, это активировать хлебные крошки в настройках плагина Yoast SEO.Для этого перейдите в свою панель управления WordPress и перейдите в раздел SEO> Внешний вид поиска, а затем щелкните вкладку. В настройках обязательно включите панировочные сухари, переключив опцию на «включено». Затем вы можете настроить параметры навигации в соответствии с вашими потребностями. Вы также можете выбрать таксономию, которая будет отображаться в хлебных крошках для вашего сообщения. В этом примере я собираюсь настроить свои сообщения так, чтобы категории отображались в хлебных крошках. А теперь давайте посмотрим, как выглядят панировочные сухари в одном из постов, которые я создал в теме TwentyNineteen.
В этом конкретном примере сообщения есть категория («WordPress») и родительская категория («Веб-дизайн»), чтобы показать вам таксономию категорий для хлебных крошек, которые я выбрал в настройках хлебных крошек.
Возможно, вам потребуется настроить стиль хлебных крошек с помощью внешнего CSS. Для этого вы можете использовать «хлебные крошки» CSS ID, которые были включены в код PHP. Откройте файл style.css своей дочерней темы (или вы можете добавить его в настройщике тем в разделе «Дополнительные CSS»).
Использование Breadcrumb NavXT
Если вы по какой-то причине не хотите устанавливать Yoast SEO или ищете другой простой вариант, плагин Breadcrumb NavXT — отличный выбор.Чтобы установить плагин, перейдите в панель управления WordPress и выберите Плагины> Добавить новый. Затем выполните поиск в репозитории WordPress по запросу «хлебные крошки navxt». Когда вы увидите плагин, нажмите, чтобы установить и активировать его.
Чтобы вызвать хлебные крошки, чтобы они отображались на вашем веб-сайте, вы можете использовать встроенный виджет Breadcrumb NavXT, представленный на странице виджетов. Это позволит вам перетаскивать виджет в различные области виджетов, предоставляемые вашей темой. Для этого перейдите в свою панель управления WordPress и выберите «Внешний вид»> «Виджеты».Затем перетащите виджет в область виджетов или на свой выбор и обновите настройки виджета. Как и в примере с Yoast Breadcrumb, вы также можете вызвать цепочку навигации на свой сайт, добавив необходимый код в свою дочернюю тему.
Настройка панировочных сухарей с помощью плагина
Плагин Breadcrumb NavXT имеет несколько мощных опций для настройки ваших хлебных крошек. Вы можете настроить весь шаблон своих хлебных крошек для различных таксономий и многого другого. Вы можете получить доступ к этим настройкам из своей панели управления WordPress, перейдя в Настройки> Breadcrumb NavXT.
Настроить
Если вы хотите стилизовать хлебные крошки, вы можете настроить таргетинг на класс под названием «хлебные крошки», который включен в код. Просто добавьте следующий CSS-код в файл style.css вашей дочерней темы или в дополнительный CSS-код настройщика темы.
Выводы
Панировочные сухари — важная часть веб-сайта как с точки зрения удобства использования, так и с точки зрения SEO.