Хлебные крошки wordpress плагин


Вы наверняка уже знакомы с понятием «Хлебные крошки» в веб-разработке и возможно даже приходилось реализовывать эти самые «крошки» на WordPress.

Выглядят «хлебные крошки» так:

Главная страница » Раздел » Подраздел » Текущая страница

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

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

Функция будет показывать «хлебные крошки» для страниц следующих типов:

  • Главная страница;
  • Постоянная страница;
  • Страница любого древовидного типа записи;
  • Страница поста;
  • Страница вложения (учитывается прикреплено вложение к записи или нет);
  • Любой не древовидный тип записи (прикрепленный к любой таксономии, например, к стандартным «рубрикам»);
  • Страница рубрики;
  • Страница меток;
  • Страница таксономии (как древовидной, так и одноуровневой (метки));
  • Страницы архивов по датам, авторам;
  • Страница пагинации для всех типов где предусмотрена пагинация
    (отображается как: Главная » Рубрика » Страница 2,3,4).
  • Поддерживает микроразметку. Инструменты для проверки: для Яндекса и для Google.

Из особенностей, которые я не встретил в аналогичных функциях представленных в сети, стоит отметить правильный показ «хлебных крошек» для произвольных типов записей и произвольных таксономий, также в аналогах страница пагинации отображалась как, например, «Рубрика (страница 2)», а не «Рубрика > Страница 2», что, на мой взгляд, неправильно.

Для визуального восприятия, взгляните как выглядят «хлебные крошки» разных типов:

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

Также, я старался написать как можно менее прожорливый вариант функции.

Что касается плагина Breadcrumb NavXT, который повсеместно рекомендуется для вывода «хлебных крошек» — он мне не понравился из-за своей громоздкости. Моя функция не хуже, а в чем-то даже лучше: за счет функциональности, компактности и местами быстродействия!

Также функция поддерживает микроразметки: schema.org или RDF, смотрите параметр ‘markup’.

меню


Функция «хлебных крошек» для WordPress

<?php  /**  * Хлебные крошки для WordPress (breadcrumbs)  *  * @param string [$sep = ''] Разделитель. По умолчанию ' » '  * @param array [$l10n = array()] Для локализации. См. переменную $default_l10n.  * @param array [$args = array()] Опции. См. переменную $def_args  * @return string Выводит на экран HTML код  *  * version 3.3.2  */ function kama_breadcrumbs( $sep = ' » ', $l10n = array(), $args = array() ){ 	$kb = new Kama_Breadcrumbs; 	echo $kb->get_crumbs( $sep, $l10n, $args ); }  class Kama_Breadcrumbs {  	public $arg; .  

', // tax_tag выведет: 'тип_записи из "название_таксы" по тегу: имя_термина'. // Если нужны отдельные холдеры, например только имя термина, пишем так: 'записи по тегу: %3$s' ); // Параметры по умолчанию static $args = array( 'on_front_page' => true, // выводить крошки на главной странице 'show_post_title' => true, // показывать ли название записи в конце (последний элемент). Для записей, страниц, вложений 'show_term_title' => true, // показывать ли название элемента таксономии в конце (последний элемент). Для меток, рубрик и других такс 'title_patt' => '<span class="kb_title">%s</span>', // шаблон для последнего заголовка. Если включено: show_post_title или show_term_title 'last_sep' => true, // показывать последний разделитель, когда заголовок в конце не отображается 'markup' => 'schema.org', // 'markup' - микроразметка. Может быть: 'rdf.data-vocabulary.org', 'schema.org', '' - без микроразметки // или можно указать свой массив разметки: // array( 'wrappatt'=>'<div class="kama_breadcrumbs">%s</div>', 'linkpatt'=>'<a href="%s">%s</a>', 'sep_after'=>'', ) 'priority_tax' => array('category'), // приоритетные таксономии, нужно когда запись в нескольких таксах 'priority_terms' => array(), // 'priority_terms' - приоритетные элементы таксономий, когда запись находится в нескольких элементах одной таксы одновременно.

// Например: array( 'category'=>array(45,'term_name'), 'tax_name'=>array(1,2,'name') ) // 'category' - такса для которой указываются приор. элементы: 45 - ID термина и 'term_name' - ярлык. // порядок 45 и 'term_name' имеет значение: чем раньше тем важнее. Все указанные термины важнее неуказанных... 'nofollow' => false, // добавлять rel=nofollow к ссылкам? // служебные 'sep' => '', 'linkpatt' => '', 'pg_end' => '', ); function get_crumbs( $sep, $l10n, $args ){ global $post, $wp_query, $wp_post_types; self::$args['sep'] = $sep; // Фильтрует дефолты и сливает $loc = (object) array_merge( apply_filters('kama_breadcrumbs_default_loc', self::$l10n ), $l10n ); $arg = (object) array_merge( apply_filters('kama_breadcrumbs_default_args', self::$args ), $args ); $arg->sep = '<span class="kb_sep">'. $arg->sep .'</span>'; // дополним // упростим $sep = & $arg->sep; $this->arg = & $arg; // микроразметка --- if(1){ $mark = & $arg->markup; // Разметка по умолчанию if( ! $mark ) $mark = array( .

закрываем span после разделителя! ); // schema.org elseif( $mark === 'schema.org' ) $mark = array( 'wrappatt' => '<div class="kama_breadcrumbs" itemscope itemtype="http://schema.org/BreadcrumbList">%s</div>', 'linkpatt' => '<span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a href="%s" itemprop="item"><span itemprop="name">%s</span></a></span>', 'sep_after' => '', ); elseif( ! is_array($mark) ) die( __CLASS__ .': "markup" parameter must be array...'); $wrappatt = $mark['wrappatt']; $arg->linkpatt = $arg->nofollow ? str_replace('<a ','<a rel="nofollow"', $mark['linkpatt']) : $mark['linkpatt']; $arg->sep .= $mark['sep_after']."n"; } $linkpatt = $arg->linkpatt; // упростим $q_obj = get_queried_object(); // может это архив пустой таксы? $ptype = null; if( empty($post) ){ if( isset($q_obj->taxonomy) ) $ptype = & $wp_post_types[ get_taxonomy($q_obj->taxonomy)->object_type[0] ]; } else $ptype = & $wp_post_types[ $post->post_type ]; // paged $arg->pg_end = ''; if( ($paged_num = get_query_var('paged')) || ($paged_num = get_query_var('page')) ) $arg->pg_end = $sep .

rintf( $loc->paged, (int) $paged_num ); $pg_end = $arg->pg_end; // упростим // ну, с богом... $out = ''; if( is_front_page() ){ return $arg->on_front_page ? sprintf( $wrappatt, ( $paged_num ? sprintf($linkpatt, get_home_url(), $loc->home) . $pg_end : $loc->home ) ) : ''; } // страница записей, когда для главной установлена отдельная страница. elseif( is_home() ) { $out = $paged_num ? ( sprintf( $linkpatt, get_permalink($q_obj), esc_html($q_obj->post_title) ) . $pg_end ) : esc_html($q_obj->post_title); } elseif( is_404() ){ $out = $loc->_404; } elseif( is_search() ){ $out = sprintf( $loc->search, esc_html( $GLOBALS['s'] ) ); } elseif( is_author() ){ $tit = sprintf( $loc->author, esc_html($q_obj->display_name) ); $out = ( $paged_num ? sprintf( $linkpatt, get_author_posts_url( $q_obj->ID, $q_obj->user_nicename ) . $pg_end, $tit ) : $tit ); } elseif( is_year() || is_month() || is_day() ){ $y_url = get_year_link( $year = get_the_time('Y') ); if( is_year() ){ $tit = sprintf( $loc->year, $year ); $out = ( $paged_num ? sprintf($linkpatt, $y_url, $tit) . $pg_end : $tit ); } // month day else { $y_link = sprintf( $linkpatt, $y_url, $year); $m_url = get_month_link( $year, get_the_time('m') ); if( is_month() ){ $tit = sprintf( $loc->month, get_the_time('F') ); $out = $y_link .

ep . ( $paged_num ? sprintf( $linkpatt, $m_url, $tit ) . $pg_end : $tit ); } elseif( is_day() ){ $m_link = sprintf( $linkpatt, $m_url, get_the_time('F')); $out = $y_link . $sep . $m_link . $sep . get_the_time('l'); } } } // Древовидные записи elseif( is_singular() && $ptype->hierarchical ){ $out = $this->_add_title( $this->_page_crumbs($post), $post ); } // Таксы, плоские записи и вложения else { $term = $q_obj; // таксономии // определяем термин для записей (включая вложения attachments) if( is_singular() ){ // изменим $post, чтобы определить термин родителя вложения if( is_attachment() && $post->post_parent ){ $save_post = $post; // сохраним $post = get_post($post->post_parent); } // учитывает если вложения прикрепляются к таксам древовидным - все бывает 🙂 $taxonomies = get_object_taxonomies( $post->post_type ); // оставим только древовидные и публичные, мало ли... $taxonomies = array_intersect( $taxonomies, get_taxonomies( array('hierarchical' => true, 'public' => true) ) ); if( $taxonomies ){ // сортируем по приоритету if( ! empty($arg->priority_tax) ){ usort( $taxonomies, function($a,$b)use($arg){ $a_index = array_search($a, $arg->priority_tax); if( $a_index === false ) $a_index = 9999999; $b_index = array_search($b, $.

$terms) > 2 ){ foreach( (array) $prior_terms as $term_id ){ $filter_field = is_numeric($term_id) ? 'term_id' : 'slug'; $_terms = wp_list_filter( $terms, array($filter_field=>$term_id) ); if( $_terms ){ $term = array_shift( $_terms ); break; } } } else $term = array_shift( $terms ); break; } } } if( isset($save_post) ) $post = $save_post; // вернем обратно (для вложений) } // вывод // все виды записей с терминами или термины if( $term && isset($term->term_id) ){ $term = apply_filters('kama_breadcrumbs_term', $term ); // attachment if( is_attachment() ){ if( ! $post->post_parent ) $out = sprintf( $loc->attachment, esc_html($post->post_title) ); else { if( ! $out = apply_filters('attachment_tax_crumbs', '', $term, $this ) ){ $_crumbs = $this->_tax_crumbs( $term, 'self' ); $parent_tit = sprintf( $linkpat.

_hierarchical($term->taxonomy) ){ // метка if( is_tag() ) $out = $this->_add_title('', $term, sprintf( $loc->tag, esc_html($term->name) ) ); // такса elseif( is_tax() ){ $post_label = $ptype->labels->name; $tax_label = $GLOBALS['wp_taxonomies'][ $term->taxonomy ]->labels->name; $out = $this->_add_title('', $term, sprintf( $loc->tax_tag, $post_label, $tax_label, esc_html($term->name) ) ); } } // древовидная такса (рибрики) else { if( ! $out = apply_filters('term_tax_crumbs', '', $term, $this ) ){ $_crumbs = $this->_tax_crumbs( $term, 'parent' ); $out = $this->_add_title( $_crumbs, $term, esc_html($term->name) ); } } } // влоежния от записи без терминов elseif( is_attachment() ){ $parent = get_post($post->post_parent); $parent_link = sprintf( $linkpatt, get_permalink($parent), esc_html($parent->post_title) ); $_out = $parent_link; // вложение от записи древовидного типа запис.

'' === $home_after ){ // Ссылка на архивную страницу типа записи для: отдельных страниц этого типа; архивов этого типа; таксономий связанных с этим типом. if( $ptype && $ptype->has_archive && ! in_array( $ptype->name, array('post','page','attachment') ) && ( is_post_type_archive() || is_singular() || (is_tax() && in_array($term->taxonomy, $ptype->taxonomies)) ) ){ $pt_title = $ptype->labels->name; // первая страница архива типа записи if( is_post_type_archive() && ! $paged_num ) $home_after = sprintf( $this->arg->title_patt, $pt_title ); // singular, paged post_type_archive, tax else{ $home_after = sprintf( $linkpatt, get_post_type_archive_link($ptype->name), $pt_title ); $home_after .= ( ($paged_num && ! is_tax()) ? $pg_end : $sep ); // пагинация } } } $before_out = sprintf( $linkpatt, home_url(), $loc->home ) . ( $home_after ? $sep.$home_after : ($out ? $sep : '') ); $out = apply_filters('kama_breadcrumbs_pre_out', $out, $sep, $loc, $arg ); $out = sprintf( $wrappatt, $before_out . $out ); return apply_filters('kama_breadcrumbs', $out, $sep, $loc, $arg ); } function _page_crumbs( $post ){ $parent = $post->post_parent; $crumbs = array(); while( $parent ){ $page = get_post( $parent ); $crumbs[] = sprintf( $this->arg->linkpatt, get_permalink($page), esc_html($page->post_title) ); $parent = $page->post_parent; } return implode( $this->arg->sep, array_reverse($crumbs) ); } function _tax_crumbs( $term, $start_from = 'self' ){ $termlinks = array(); $term_id = ($start_from === 'parent') ? $term->parent : $term->term_id; while( $term_id ){ $term = get_term( $term_id, $term->taxonomy ); $termlinks[] = sprintf( $this->arg->linkpatt, get_term_link($term), esc_html($term->name) ); $term_id = $term->parent; } if( $termlinks ) return implode( $this->arg->sep, array_reverse($termlinks) ) /*. $this->arg->sep*/; return ''; } // добалвяет заголовок к переданному тексту, с учетом всех опций. Добавляет разделитель в начало, если надо. function _add_title( $add_to, $obj, $term_title = '' ){ $arg = & $this->arg; // упростим... $title = $term_title ? $term_title : esc_html($obj->post_title); // $term_title чиститься отдельно, теги моугт быть... $show_title = $term_title ? $arg->show_term_title : $arg->show_post_title; // пагинация if( $arg->pg_end ){ $link = $term_title ? get_term_link($obj) : get_permalink($obj); $add_to .= ($add_to ? $arg->sep : '') . sprintf( $arg->linkpatt, $link, $title ) . $arg->pg_end; } // дополняем - ставим sep elseif( $add_to ){ if( $show_title ) $add_to .= $arg->sep . sprintf( $arg->title_patt, $title ); elseif( $arg->last_sep ) $add_to .= $arg->sep; } // sep будет потом... elseif( $show_title ) $add_to = sprintf( $arg->title_patt, $title ); return $add_to; } } /** * Изменения: * 3.3 - новые хуки: attachment_tax_crumbs, post_tax_crumbs, term_tax_crumbs. Позволяют дополнить крошки таксономий. * 3.2 - баг с разделителем, с отключенным 'show_term_title'. Стабилизировал логику. * 3.1 - баг с esc_html() для заголовка терминов - с тегами получалось криво... * 3.0 - Обернул в класс. Добавил опции: 'title_patt', 'last_sep'. Доработал код. Добавил пагинацию для постов. * 2.5 - ADD: Опция 'show_term_title' * 2.4 - Мелкие правки кода * 2.3 - ADD: Страница записей, когда для главной установлена отделенная страница. * 2.2 - ADD: Link to post type archive on taxonomies page * 2.1 - ADD: $sep, $loc, $args params to hooks * 2.0 - ADD: в фильтр 'kama_breadcrumbs_home_after' добавлен четвертый аргумент $ptype * 1.9 - ADD: фильтр 'kama_breadcrumbs_default_loc' для изменения локализации по умолчанию * 1.8 - FIX: заметки, когда в рубрике нет записей * 1.7 - Улучшена работа с приоритетными таксономиями. */

Вставлять этот код нужно в файл шаблона functions.php или непосредственно в тот файл где вызывается функция.

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

<?php if( function_exists('kama_breadcrumbs') ) kama_breadcrumbs(); ?>

Если нужно поменять разделитель между ссылками, укажите первый параметр:

<?php if( function_exists('kama_breadcrumbs') ) kama_breadcrumbs(' » '); ?>

меню

Примеры использование фильтров

#1 Установка параметров через фильтр

Измени дефолтные параметры через фильтр

add_filter('kama_breadcrumbs_default_args', function($args){ 	$args['on_front_page'] = 0; 	$args['show_post_title'] = ''; 	$args['priority_tax'] = array('mytax'); 	return $args; } );

Если установить параметры при вызове функции в третьем аргументе функции, то они перебьют параметры указанные в фильтре…

#3 Пример перевода крошек на английский

Эти примеры показывают как перевести крошки на нужный язык или просто изменить дефолтные значения:

Вариант 1

При вызове функции нужно указать строки локализации так:

// Локализация if( function_exists('kama_breadcrumbs') ){  	$myl10n = array( 		'home' => 'Front page', 		'paged' => 'Page %d', 		'_404' => 'Error 404', 		'search' => 'Search results by query - <b>%s</b>', 		'author' => 'Author archve: <b>%s</b>', 		'year' => 'Archive by <b>%d</b> год', 		'month' => 'Archive by: <b>%s</b>', 		'day' => '', 		'attachment' => 'Media: %s', 		'tag' => 'Posts by tag: <b>%s</b>', 		'tax_tag' => '%1$s from "%2$s" by tag: <b>%3$s</b>', 		// tax_tag выведет: 'тип_записи из "название_таксы" по тегу: имя_термина'.  		// Если нужны отдельные холдеры, например только имя термина, пишем так: 'записи по тегу: %3$s' 	);  	kama_breadcrumbs(' » ', $myl10n );  }
Вариант 2

C версии 1.9. Можно использовать хук kama_breadcrumbs_default_loc, чтобы для каждого вызова одно и тоже не указывать. Для этого рядом с исходным кодом крошек добавьте такой хук:

add_filter('kama_breadcrumbs_default_loc', function($l10n){ 	// Локализация 	return array( 		'home' => 'Front page', 		'paged' => 'Page %d', 		'_404' => 'Error 404', 		'search' => 'Search results by query - <b>%s</b>', 		'author' => 'Author archve: <b>%s</b>', 		'year' => 'Archive by <b>%d</b> год', 		'month' => 'Archive by: <b>%s</b>', 		'day' => '', 		'attachment' => 'Media: %s', 		'tag' => 'Posts by tag: <b>%s</b>', 		'tax_tag' => '%1$s from "%2$s" by tag: <b>%3$s</b>', 		// tax_tag выведет: 'тип_записи из "название_таксы" по тегу: имя_термина'.  		// Если нужны отдельные холдеры, например только имя термина, пишем так: 'записи по тегу: %3$s' 	); });

Далее, используйте вызов в шаблоне как обычно, крошки будут переведены на англ.:

function_exists('kama_breadcrumbs') && kama_breadcrumbs();

#3 Добавление произвольной ссылки в начало крошек

Допустим нам нужно добавить после пункта «Главная» ссылку на страницу 7, если в текущий момент мы находимся в категории 5 или в её дочерней категории (учитывается один уровень вложенности).

Для этого добавьте такой хук рядом с кодом крошек:

add_action('kama_breadcrumbs_home_after', 'my_breadcrumbs_home_after', 10, 4); function my_breadcrumbs_home_after( $false, $linkpatt, $sep, $ptype ){ 	// если мы в рубрике с ID 5 или в дочерней рубрике, 	// то дополним начало крошек ссылкой на страницу с ID 7 	$qo = get_queried_object(); 	if( is_category() && ( $qo->term_id == 5 || $qo->parent == 5 ) ){ 		$page = get_post( 7 ); 		return sprintf( $linkpatt, get_permalink($page), $page->post_title ) . $sep; 	}  	return $false; }

#4 Добавление еще таксономий в крошки

По умолчанию в крошках обрабатывается только одна таксономи. Но иногда нужно несколько, для этого в версии 3.3 я вставил хуки: 'attachment_tax_crumbs', 'post_tax_crumbs', 'term_tax_crumbs'.

Допустим, у нас есть тип записи realty и 3 таксы для него: country, type_deal, type_realty. Нужно, чтобы у страницы записи в крошках отображались все таксы в указанном порядке. Также нужно, чтобы на каждой странице таксы указывались все предыдущие таксы и текущая в указанном порядке: country > type_deal > type_realty

// apply_filters('term_tax_crumbs', '', $term, $that ); add_filter('term_tax_crumbs', 'more_tax_crumbs', 10, 3); add_filter('post_tax_crumbs', 'more_tax_crumbs', 10, 3); function more_tax_crumbs( $empty, $term, $that ){ 	$is_post_filter = doing_filter('post_tax_crumbs'); // else 'term_tax_crumbs'  	if( ( $is_post_filter && is_singular('realty') ) || is_tax('country') ){ 		global $post;  		$out = '';  		$out = $that->_tax_crumbs( $term, 'self' ) . $that->arg->sep; // базовая такса - country  		// тип сделки 		$term = get_query_var('type_deal'); 		if( $term && ($term = get_term_by('slug', $term, 'type_deal')) ) 			$out .= $that->_tax_crumbs( $term, 'self' ) . $that->arg->sep; // тип сделки  		// тип недвижимости 		$term = get_query_var('type_realty'); 		if( $term && ($term = get_term_by('slug', $term, 'type_realty')) ){ 			// запись 			if( $is_post_filter ){ 				$_crumbs = $that->_tax_crumbs( $term, 'self' ); 				$out .= $that->_add_title( $_crumbs, $post );  			} 			// такса 			else { 				$_crumbs = $that->_tax_crumbs( $term, 'parent' ); 				$out .= $that->_add_title( $_crumbs, $term, esc_html($term->name) );  			}  		}  		return $out; 	}  	return $empty; } 

меню

wp-kama.ru

Хотели бы вы вывести хлебные крошки на своем WordPress? Иерархическая навигация — это дополнительная система навигации, которая сообщает пользователю о том, где именно на данный момент он находится на сайте относительно главной страницы. В сегодняшней статье мы покажем вам как вывести ссылки иерархической навигации (хлебные крошки) в WordPress.

breadcrumb-example[1]

Что такое хлебные крошки и зачем они вам нужны?

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

Хлебные крошки отличаются от стандартной системы навигации меню в WordPress.

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

Поисковые системы вроде Google уже начали отображать хлебные крошки под названием сайта в результатах поиска. Это позволит вашему сайту стать более заметным в поисковой выдаче и повысит ваш процент кликабельности. Подробнее об этом можно прочитать в официальной справке Google, потому как всё не так просто, как может показаться на первый взгляд. Не всегда Google может принять решение о том, что нужно отобразить крошки в выдаче именно для вашего сайта.

breadcrumbs-seo[1]

Давайте теперь посмотрим как же добавить хлебные крошки в WordPress.

Добавляем хлебные крошки с помощью плагина Breadcrumb NavXT

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

Первым делом вам необходимо установить и активировать плагин Breadcrumb NavXT. После активации переходим на страницу Настройки » Breadcrumb NavXT для конфигурации настроек плагина.

breadcrumbnavxt-settings[1]

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

Страница настроек разделена на две различные секции. На вкладке general вы можете определить общее поведение плагина на вашем сайте.

Здесь можно изменить шаблон хлебных крошек. Вы также можете заметить, что эти ссылки шаблонов используют параметры Schema.org в тегах ссылок.

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

Вы можете выбрать как вы хотите отображать иерархию записей. По-умолчанию плагин будет использовать Название сайта > Рубрика > Заголовок записи. Вы можете заменить рубрики на теги, даты или родительские записи.

Вкладка taxonomies и authors содержат схожие шаблоны для ваших ссылок хлебных крошек.

Не забудьте нажать на кнопку сохранения изменений как только закончите настройку.

Выводим Breadcrumb NavXT на своем сайте

Этот плагин предполагает редактирование файлов вашей темы. Вам нужно добавить следующий код в файл header.php вашей или дочерней темы в то место, где вам нужно вывести навигацию по хлебным крошкам.

  <div class="breadcrumbs" typeof="BreadcrumbList" vocab="http://schema.org/">   <?php if(function_exists('bcn_display'))   {   bcn_display();   }?>  </div>  

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

Добавляем хлебные крошки с помощью плагина Yoast SEO

Первым делом вам необходимо установить и активировать плагин Yoast SEO.

После активации переходим на страницу SEO » Advanced и отмечаем галочкой опцию ‘Enable breadcrumbs’.

yoastbreadcrumb-1[1]

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

После окончания настройки нажмите на кнопку сохранения изменений.

Выводим хлебные крошки от Yoast на своем сайте

Некоторые темы WordPress уже имеют поддержку хлебных крошек Yoast «из коробки». Можно перейти на свой сайт, открыть любую запись или страницу и посмотреть, отобразит ли ваша тема хлебные крошки.

Если же тема не делает этого автоматически, тогда вам понадобится добавить небольшой сниппет кода в свою тему WordPress.

Просто добавляем следующий код в свою или дочернюю тему в файл header.php. Код следует поместить в конце файла.

  <?php if ( function_exists('yoast_breadcrumb') )  {yoast_breadcrumb('<p id="breadcrumbs">','</p>');} ?>  

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

Мы надеемся, что эта статья помогла вам вывести хлебные крошки на своем WordPress сайте.

По всем вопросам и отзывам просьба писать в комментарии ниже.

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

wpincode.com

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

dimox.name

Для чего нужны хлебные крошки на сайте

Перед тем как перейти непосредственно к обзору модулей, пару слов скажу о том, как и зачем применятся данное решение:

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

Однако такая функциональность эффективна в каждом веб-проекте. Если у вас имеется простая визитка на 10-20 страниц без вложенной иерархии, то нет смысла добавлять хлебные крошки в WP. Элемент не будет нести абсолютно никакой пользы, а лишь занимать свободное место на экране. В случае корпоративных порталов с многоуровневыми категориями / разделами  — совсем другое дело. Плюс в интернет-магазинах он тоже отлично смотрится.

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

Хлебные крошки wordpress плагин

Глупо получится, когда сразу же под цепочкой «Главная» — «Категория» — «Заголовок поста» вы видите тот же тайтл + указание текущей категории. Подобное отображение рубрик, кстати, часто встречается в стандартных WP шаблонах, поэтому после интеграции соответствующего решения желательно этот нюанс подправить. 

Плагины и хлебные крошки в WordPress

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

Хлебные крошки wordpress плагин

Возможно, авторам надоело конкурировать с бессменными лидерами Breadcrumb NavXT с 600тыс. загрузок и SEO by Yoast. К тому же достаточно сложно придумать что-то сверх оригинальное в данном вопросе, т.к. он максимально прост и даже можно реализовать хлебные крошки в WordPress без плагина. Как бы там ни было, подобрал 4 наиболее интересных решения:

Yoast SEO

Хлебные крошки wordpress плагин

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

Breadcrumb NavXT

Хлебные крошки wordpress плагин

Breadcrumb NavXT — самый популярный плагин по хлебным крошкам в WordPress с более чем 600 тысячами скачиваний. Обновляется регулярно и содержит множество функций для легкой настройки отображения навигации. Также в нем найдете встроенный виджет, поддержка bbPress, BuddyPress, локализации, возможность использования разработчиками фильтров/хуков и многое другое.

Breadcrumb

Хлебные крошки wordpress плагин

В принципе, сложно найти решения, которые были бы интереснее предыдущих двух, хотя есть неплохие попытки. Так, например, в модуле Breadcrumb для WordPress внедрена поддержка шорткодов, плюс сама цепочка ссылок имеет оригинальное оформление (смотрите по ссылке Live Demo!»). Непонятно только поддерживаются ли дизайны в бесплатной версии. Также вы можете настраивать тип разделителя и добавлять текст в начале элемента. По словам разработчиков скрипт максимально простой и легкий.

Prime Strategy Bread Crumb

Хлебные крошки wordpress плагин

Еще один вариант, имеющий плюс-минус достойное число загрузок, не смотря на то, что обновлялся около года назад. Авторы Prime Strategy Bread Crumb обещают гибкую настройку хлебных крошек в WordPress: встроенные хуки, параметры отображения и поддержку стилей (в описании есть пример CSS Sample). Модуль показался достаточно неплохим и простым решением с хорошими оценками. 

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

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

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

Хлебные крошки wordpress плагин

Разных опций здесь, в принципе не так уж и много. Вы определяете символ разделителя, название главной, префикс, текс для архивов и 404 страницы. Чуть ниже выбираете вариант таксономии, отображаемой в записи (рубрика — наиболее логична).

Затем переходите в файл шаблона, где собираетесь выводить навигационный блок и добавляете строки:

Самые популярные места вставки кода — в постах (single.php) и страницах (page.php) перед отображением заголовка. Иногда его могут размещать в конце макета шапки (header.php). Код выше имеет условный оператор и проверяет наличие плагина, а затем уже показывает результат. С такой конструкцией можно будет легко отключить хлебные крошки в настройках. Во многие профессиональные темы, кстати, данный код добавлен изначально, т.к. модуль является весьма популярным.

Еще одно преимущество Yoast SEO — хлебные крошки могут задаваться в дополнительных параметрах постов блога:

Хлебные крошки wordpress плагин

То есть у вас есть шанс вручную определить любое значение заголовка WP записей через админку. Это полезно для длинных названий статей + позволяет избавиться от дублирующей информации.

Плагин Breadcrumb NavXT для WordPress

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

Устанавливаете плагин через админку либо скачиваете с официального репозитория. Важно! Для версии Breadcrumb NavXT от 5.2 вам потребуется PHP5.3, более ранние релизы требуют PHP5.2. Затем активируете, и в WP появится соответствующий раздел.

Хлебные крошки wordpress плагин

Здесь есть 4 закладки параметров:

  • В «Основных» можно выбрать тип разделителя, убрать линк на главную и настроить показ текущей страницы. Формат строки задается через шаблоны.
  • «Записи» — содержит опции для постов.
  • «Таксономии» — отвечают за метки / категории.
  • «Другое» — форматы страниц автора, архивов, 404 ошибки.

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

После указания параметров хлебных крошек Breadcrumbs в WordPress плагине нужно задать вывод информации в шаблоне — открываете соответствующий файл макета (как правило, header.php) и размещаете в нужном месте строки:

Аналогично работе с Yoast SEO выбор места размещения кода зависит от установленной темы. Если предполагается вывод блока в шапке, тогда используете header.php. Учитывая то, что этот файл общий для всех страниц макета, увидите цепочку ссылок на каждой из них. Также можно показывать элемент только в избранных разделах — в таком случае вставляете код в single.php, page.php, archive.php и т.п. В целом, Breadcrumb NavXT — неплохой инструмент. 

Хлебные крошки в WordPress без плагина

Допускается реализация функции Breadcrumbs в WordPress без плагинов. Однако перед тем как перейти к описанию разных вариантов, я выскажу свое субъективное мнение почему это не лучшая идея:

  • Интеграция наверняка вызовет сложности у начинающих пользователей.
  • Редактирование параметров непосредственно в коде не особо наглядно — задание шаблонов отображения через админку куда удобнее нежели правка напрямую.
  • Модули имеют больше возможностей — взять хотя бы локализацию, поддержку Schema.org, виджеты.
  • Не все коды, найденные в сети, актуальны, корректны и регулярно обновляются, в то время когда, как минимум, Yoast SEO и Breadcrumb NavXT в WordPress стабильно работают.

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

Одно из самых компактных и плюс-минус актуальных решений найдено тут. Первым делом вы добавляете новую пользовательскую функцию get_breadcrumb() в файл functions.php:

Затем в макете отображения постов single.php или любом другом вызываете ее:

Также автор предлагает парочку стилей оформления:

В итоге получите что-то вроде:

Хлебные крошки wordpress плагин

Если вам этого достаточно, то почему нет. Также могу посоветовать вариант от Dimox’а который постарался учесть все недостатки существующих сниппетов. Исходного кода там в разы больше, из него вполне можно создавать полноценный модуль:)

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

В принципе, эта задача обратная к процессу установки элемента. Поэтому перед тем как его отключить нужно понять как именно все реализовано в вашем конкретном случае. Алгоритм приблизительно следующий:

  1. Смотрим есть ли плагин хлебных крошек для Вордпресс сайта. Если да, то пробуем скрыть отображение цепочки ссылок в настройках и/или деактивируем его.
  2. Если разработчик грамотно выполнил интеграцию, то удаление модуля не приведет к ошибкам. В противном случае ищем в файлах шаблона код вывода навигации (WinGrep в помощь). Это могут быть, например, функции yoast_breadcrumb(), bcn_display(), bread_crumb() и т.п. Избавляемся от лишних строк.
  3. Еще раз проверяем отображение страниц проекта в браузере.

В принципе, отключить или убрать хлебные крошки в WordPress не так уж и сложно, главное разобраться как они добавлены. Внимательно правьте код, дабы не удалить ничего важного (можно предварительно закомментировать строки).

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

Если у вас есть какие-то вопросы по работе с хлебными крошками Breadcrumbs и WordPress плагинами для них, пишите ниже, — будем разбирать.

P.S. Постовой. В наше время нужно использовать современные трубопроводные системы — газовые трубы представлены ТД «Евротрубпласт» отвечают всем стандартам качества.

wordpressinside.ru

Функции

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

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

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

Стоит ли добавлять вспомогательную навигацию на сайт

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

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

Breadcrumb NavXT

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

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

При необходимости можно включить функцию генерирования кода в соответствии с принятым Google стандартом RDFa. Подобная разметка панели вспомогательного меню не будет гарантией того, что система применит «хлебные крошки» при создании поискового сниппета, однако шансы на это существенно возрастут. Ссылки отображаются только в виджете. Добавить вспомогательное меню в начало страницы не удастся. Стоит учитывать, что «хлебные крошки» не поддерживаются поисковой системой «Яндекс».
хлебные крошки wordpress плагин

Yoast WordPress SEO

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

Будет загружена страница с дополнительными настройками плагина. Здесь необходимо перейти на вкладку «навигационная цепочка». Пункт «включить» следует отметить галочкой. Для появления вспомогательного меню на сайте требуется добавить в код блога PHP-функцию, отвечающую за вывод. В поле «разделитель» можно ввести любой символ, который поддерживается HTML5.

В качестве текста ссылки на основную страницу сайта следует указать домен или просто слово «Главная». В поле «основной префикс» нужно вписать несколько букв или символов. Они будут отображаться перед всеми ссылками вспомогательного меню. Таким же образом заполняются поля префиксов навигационных цепочек для архивов и страниц с результатами поисковой выдачи. В подразделе «таксономия» необходимо выбрать пункт «рубрики», «метки» или «форматы».
yoast wordpress seo хлебные крошки

Breadcrumb Trail

С помощью плагина от Джастина Тэдлока можно быстро создавать в WordPress «хлебные крошки». Начинавшееся с небольшого скрипта, это программное обеспечение переросло в продвинутую систему.

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

Yummi «хлебные крошки»

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

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

При желании можно включить показ всплывающих подсказок и ссылки Home. Пользователю также следует выбрать стиль шрифта для «хлебных крошек» и основных категорий. Здесь же находится опция включения атрибута title для ссылок. Чтобы удалить со страниц сайта информацию об авторе плагина, необходимо указать пункт «спрятать» рядом с графой «ваша благодарность» и сохранить результат. Можно заметить, что настройки плагина достаточно просты и понятны.
хлебные крошки страниц wordpress

Really Simple Breadcrumb

Этот программный продукт – еще одно простое решение для WordPress. Плагин работает корректно и без ошибок, отображается согласно коду используемой темы. Установить программное обеспечение можно через панель администратора. Для того чтобы «хлебные крошки» отображались на статических страницах, необходимо прописать над строкой вывода заголовка соответствующий код. Если пользователю нужно изменить тип разделителя, то он может редактировать 17 строчку файла breadcrumb.php.

В этом варианте добавления вспомогательного меню отсутствует микроразметка. С нею «хлебные крошки» будут отображаться в сниппете поисковой выдачи Google вместо URL. Это повысит кликабельность. Поэтому пользователю необходимо добавить микроразметку или использовать другой вариант.
хлебные крошки в wordpress

DP RDFa Breadcrumb Generator

Плагин был создан для поисковой оптимизации сайта. Как и в случае с Yoast WordPress SEO, «хлебные крошки» отображаются в сниппете выдачи автоматически.

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

fb.ru


You May Also Like

About the Author: admind

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.