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

25.01.2011

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function the_breadcrumb() {
	echo '<ul id="breadcrumbs">';
	if (!is_home()) {
		echo '<li><a href="';
		echo get_option('home');
		echo '">';
		echo 'Главная';
		echo "</a></li>";
		if (is_category() || is_single()) {
			echo '<li>>&nbsp;&nbsp;&nbsp;&nbsp;';
			the_category(' </li><li> ');
			if (is_single()) {
				echo "</li><li>>&nbsp;&nbsp;&nbsp;&nbsp;";
				the_title();
				echo '</li>';
			}
		} elseif (is_page()) {
			echo '<li>';
			echo the_title();
			echo '</li>';
		}
	}
	elseif (is_tag()) {single_tag_title();}
	elseif (is_day()) {echo"<li>Архив "; the_time('F jS, Y'); echo'</li>';}
	elseif (is_month()) {echo"<li>Архив "; the_time('F, Y'); echo'</li>';}
	elseif (is_year()) {echo"<li>Архив "; the_time('Y'); echo'</li>';}
	elseif (is_author()) {echo"<li>Автор "; echo'</li>';}
	elseif (isset($_GET['paged']) && !empty($_GET['paged'])) {echo "<li>Архив "; echo'</li>';}
	elseif (is_search()) {echo"<li>Результаты поиска "; echo'</li>';}
	echo '</ul>';
}

Не забываем, что данную функцию необходимо вставить в файл functions.php вашей темы для Вордпресс.

Теперь в том месте шаблона, где мы хотим видеть хлебные крошки просто вставляем следующий код:

1
<?php the_breadcrumb(); ?>

Так же можете вставить в файл стилей(файл style.css вашей темы) следующий кусок кода для придания начального внешнего вида:

1
2
3
4
5
#breadcrumbs li {
	display: inline;
	background: none;
	list-style: none;
}

P.S. К сожалению у данной функции есть одна отрицательная черта – невосприимчивость к родительским и дочерним категориям – отображается только родительская категория статьи. (:

Смотреть все приёмы и трюки Wordpress