WordPress хлебные крошки – функция
Метки: breadcrumbs в wordpress, вордпресс, функция wordpress, хлебные крошки
Хочу поделиться с Вами моим способом вывода “хлебных крошек”, которые, особенно при многоуровневой вложенности рубрик, оказывают немалую помощь в навигации по сайту.
Итак, сразу скажу, что я немного переделал уже существующую бороздящую просторы интернета функцию под свои нужды.
Я убрал ненужные проверки, замедляющие работу функции и, в принципе, абсолютно бесполезные.
Ниже приведен конечный код функции для вывода хлебных крошек в wordpress:
function alex_crumbs() { $delimiter = ' → '; // чем разделять ссылки $home = 'Главная'; // текст для ссылки на главную" $before = '<span class="current">'; $after = '</span>'; if ( !is_home() && !is_front_page() || is_paged() ) { global $post; $homeLink = get_bloginfo('url'); echo '<a href="' . $homeLink . '">' . $home . '</a> ' . $delimiter . ' '; if ( is_category() ) { global $wp_query; $cat_obj = $wp_query->get_queried_object(); $thisCat = $cat_obj->term_id; $thisCat = get_category($thisCat); $parentCat = get_category($thisCat->parent); if ($thisCat->parent != 0) echo(get_category_parents($parentCat, TRUE, ' ' . $delimiter . ' ')); echo $before . '' . single_cat_title('', false) . $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> ' . $delimiter . ' '; echo $before . get_the_title() . $after; } else { $cat = get_the_category(); $cat = $cat[0]; echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' '); echo $before . get_the_title() . $after; } } if ( get_query_var('paged') ) { if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) { echo ' ('.__('Page') . ' ' . get_query_var('paged').')'; } } } }
Как Вы видите выше, функция вывода хлебных крошек, breadcrumbs, в wordpress вполне простая. Осталось только вставить ее в functions.php Вашей темы и код вывода в файлы archive.php , single.php и, при желании, page.php – хотя яна статичных страницах, в отличии от записей в рубриках, хлебные крошки не вывожу.
В нужном месте в нужных файлах шаблона вставьте следующий код:
<?php if (function_exists('alex_crumbs')) alex_crumbs(); ?>