BloGGood.ru

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

WordPress, PHP, HTML, CSS, Windows

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

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

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

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

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

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

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

или вот так:

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

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

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

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

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

Откройте админ 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. Евгений

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

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

    А нужно:

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

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

  3. Avatar photo Степан => автор блога

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

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

;-) :| :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]

Метки: , ,

Мои цели на 2018-2019:

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

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

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

4). Довести количество статей до 800

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

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

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

Количество записей на блоге: 810
Количество страниц на блоге: 20
Количество рубрик на блоге: 28
Количество меток на блоге: 72
Количество комментариев на блоге: 4716