BloGGood.ru

Блог Костаневича Степана

До Нового Года осталось:

Блог на разные темы, seo-оптимизация, раскрутка сайта, создание сайта, вкусные эффекты для сайта и многое другое…

Главная » Wordpress » Как сделать “хлебные крошки?”

Как сделать “хлебные крошки?”

2012-11-06 / Вр:18:33 / просмотров: 5230

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

Вот так будут выглядеть ваши "хлебные крошки" на блоге:

Главная страница  > Рубрика  Категория  > Заголовок поста.

или вот так:

Главная страница  > Категория  > Заголовок поста.

Вот пример  "хлебных крошек" , рисунок снизу.

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

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

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

Откройте админ WordPress файл functions.php (админ WordPress > Внешний вид > Редактор >functions.php) и впишите код между символами <?php   ?>. Пример, как вставлять код <?php вот здесь будет код "хлебных крошек" ?> впишите код, который находится снизу.

function dimox_breadcrumbs() {

$showOnHome = 0; // 1 - показывать "хлебные крошки" на главной странице, 0 - не показывать
$delimiter = '&raquo;'; // разделить между "крошками"
$home = 'Главная'; // текст ссылка "Главная"
$showCurrent = 1; // 1 - показывать название текущей статьи/страницы, 0 - не показывать
$before = '<span>'; // тег перед текущей "крошкой"
$after = '</span>'; // тег после текущей "крошки"

global $post;
$homeLink = get_bloginfo('url');

if (is_home() || is_front_page()) {

if ($showOnHome == 1) echo '<div id="crumbs"><a href="' . $homeLink . '">' . $home . '</a></div>';

} else {

echo '<div id="crumbs"><a href="' . $homeLink . '">' . $home . '</a> ' . $delimiter . ' ';

if ( is_category() ) {
$thisCat = get_category(get_query_var('cat'), false);
if ($thisCat->parent != 0) echo get_category_parents($thisCat->parent, TRUE, ' ' . $delimiter . ' ');
echo $before . 'Архив рубрики "' . single_cat_title('', false) . '"' . $after;

} elseif ( is_search() ) {
echo $before . 'Результаты поиска по запросу "' . get_search_query() . '"' . $after;

} elseif ( is_day() ) {
echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a> ' . $delimiter . ' ';
echo '<a href="' . get_month_link(get_the_time('Y'),get_the_time('m')) . '">' . get_the_time('F') . '</a> ' . $delimiter . ' ';
echo $before . get_the_time('d') . $after;

} elseif ( is_month() ) {
echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a> ' . $delimiter . ' ';
echo $before . get_the_time('F') . $after;

} elseif ( is_year() ) {
echo $before . get_the_time('Y') . $after;

} elseif ( is_single() && !is_attachment() ) {
if ( get_post_type() != 'post' ) {
$post_type = get_post_type_object(get_post_type());
$slug = $post_type->rewrite;
echo '<a href="' . $homeLink . '/' . $slug['slug'] . '/">' . $post_type->labels->singular_name . '</a>';
if ($showCurrent == 1) echo ' ' . $delimiter . ' ' . $before . get_the_title() . $after;
} else {
$cat = get_the_category(); $cat = $cat[0];
$cats = get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');
if ($showCurrent == 0) $cats = preg_replace("#^(.+)\s$delimiter\s$#", "$1", $cats);
echo $cats;
if ($showCurrent == 1) echo $before . get_the_title() . $after;
}

} elseif ( !is_single() && !is_page() && get_post_type() != 'post' && !is_404() ) {
$post_type = get_post_type_object(get_post_type());
echo $before . $post_type->labels->singular_name . $after;

} elseif ( is_attachment() ) {
$parent = get_post($post->post_parent);
$cat = get_the_category($parent->ID); $cat = $cat[0];
echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');
echo '<a href="' . get_permalink($parent) . '">' . $parent->post_title . '</a>';
if ($showCurrent == 1) echo ' ' . $delimiter . ' ' . $before . get_the_title() . $after;

} elseif ( is_page() && !$post->post_parent ) {
if ($showCurrent == 1) echo $before . get_the_title() . $after;

} elseif ( is_page() && $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;
}
$breadcrumbs = array_reverse($breadcrumbs);
for ($i = 0; $i < count($breadcrumbs); $i++) {
echo $breadcrumbs[$i];
if ($i != count($breadcrumbs)-1) echo ' ' . $delimiter . ' ';
}
if ($showCurrent == 1) echo ' ' . $delimiter . ' ' . $before . get_the_title() . $after;

} elseif ( is_tag() ) {
echo $before . 'Записи с тегом "' . single_tag_title('', false) . '"' . $after;

} elseif ( is_author() ) {
global $author;
$userdata = get_userdata($author);
echo $before . 'Статьи автора ' . $userdata->display_name . $after;

} elseif ( is_404() ) {
echo $before . 'Error 404' . $after;
}

if ( get_query_var('paged') ) {
if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ' (';
echo __('Page') . ' ' . get_query_var('paged');
if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')';
}

echo '</div>';

}
} // end dimox_breadcrumbs()
Обратите внимание на подсказки в коде, настройте их так, как вам нужно. Вот я  их вам выделил.
function dimox_breadcrumbs() {

$showOnHome = 0; // 1 - показывать "хлебные крошки" на главной странице, 0 - не показывать
$delimiter = '&raquo;'; // разделить между "крошками"
$home = 'Главная'; // текст ссылка "Главная"
$showCurrent = 1; // 1 - показывать название текущей статьи/страницы, 0 - не показывать
$before = '<span>'; // тег перед текущей "крошкой"
$after = '</span>'; // тег после текущей "крошки"
Сохраните файл functions.php.
Теперь откройте файлы single.phppage.phpcategory.php и archive.php и вставьте следующий код в то место файла, где вы хотите видеть "хлебные крошки".
 <?php if (function_exists('dimox_breadcrumbs')) dimox_breadcrumbs(); ?> 
Сохраните ваши файлы single.phppage.phpcategory.php и archive.php
Для красивого оформления "хлебных крошек" пропишите стили в файле CSS  к  #crumbs и .current

Как сделать хлебные крошки с плагином.

Самый быстрый путь к установлению "хлебных крошек" - это установка плагина Breadcrumb NavXT
скачать плагин можно здесь:  wordpress.org/extend/plugins/breadcrumb-navxt/

Чтобы установить плагин, зайдите в админ WordPress > ПлагиныДобавить новыйЗагрузить, находим плагин Breadcrumb NavXT и жмем кнопку установить. Активируем плагин.

После установки плагина Breadcrumb NavXT, выводим "хлебные крошки" на страницы сайта. Вписываем в файлы single.phppage.phpcategory.php, archive.php следующий код:

<div id="breadcrumb_navx">
<?php if(function_exists('bcn_display'))
{ bcn_display(); }
?>
</div><!-- #breadcrumb_navx -->

По данной теме у меня все. Если будет что-то интересненькое, я обязательно напишу.

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓

Получай обновления блога!!! Подпишись:

Популярные статьи:

3 Ответов на комментарий - Как сделать “хлебные крошки?”

  1. Тамара Полякова

    Да, мудрено для новичка. Но осваивать эту науку нужно. Поэтому буду пробовать. Посмотрим что получится! Спасибо Степан за урок, за твою интересную и полезную статью.Удачи тебе!

    Ответить

  2. Евгений

    Все сделал…но у меня отображается

    Главная » Дом и семья » Дети » Выговариваем букву Р

    А нужно:

    Дом и семья » Дети » Дошкольный возраст » Подготовка к школе » Выговариваем букву Р

    Как сделать чтобы именно так отображалось?

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Увы, но никак. Так устроен вордпресс (Главная > Категория > Заголовок поста).
    Можете посмотреть, как сделать хлебные крошки здесь

    Ответить

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

;-) :| :x :twisted: :smokes: :smile: :shock: :sad: :rose: :roll: :razz: :pop-corne: :oops: :o :mrgreen: :lol: :idea: :grin: :gazeta: :evil: :cry: :cool: :coffe: :arrow: :???: :?: :!:

Чтобы добавить в комментарий код HTML, PHP, CSS, JavaScript, нужно сделать так: [code] ваш код [/code]

Subscribe without commenting

Метки: , ,

Мои цели на 2016 год:

1). Закончить тему «Bootstrap»

2). Закончить тему «Все про PHP и MySQL»

3). Довести количество статей до 600

4). Добиться стабильной посещаемости 2500 человек/сутки

5). Закончить все статьи, которые находятся в черновиках

6). Создать портфолио и мини интернет-магазин шаблонов

7). Создать книгу

8). Добиться стабильной посещаемости 3000 человек/сутки

9). Довести количество статей до 700

10). Увеличить число подписчиков до 250

Статистика по блогу

Количество записей на блоге: 669
Количество страниц на блоге: 20
Количество рубрик на блоге: 27
Количество меток на блоге: 71
Количество комментариев на блоге: 3663