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

Опубликовано: 06.10.2017

видео Как сделать

Как сделать постраничную навигацию на wordpress блоге без плагина!

Привет всем читателям блога. Я с большим желанием хочу написать пост, тема которого посвящена элементу "хлебные крошки".



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

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

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


Постраничная навигация Wordpress без плагина - Константин ХМелев

или вот так:

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

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

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


4 действия, которые надо сделать сразу после установки WordPress

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

Откройте админ 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()

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