Хлебные крошки!
Страницы: 1
Хлебные крошки!, Как сделать хлебные крошки на сайт?
Привет коллеги!Скажите пожалуйста, данный код подойдет для вывода хлебных крошек? Или может есть другой вариант?
И вообще, какие у них есть плюсы и минусы?

Код
<div id="breadcrumbs">
 <?php if (is_home()) { ?>
 <?php } elseif (is_single()) { ?>
 <a href="<?php echo get_option('home'); ?>">Главная</a> »
 <?php foreach((get_the_category()) as $cat) {
 $cat=$cat->cat_ID;
 echo(get_category_parents($cat, TRUE, ' » ')); } the_title(); ?>
 <?php } ?>
 </div> 
Тизерная сеть для Женских сайтов: цена клика 3-5 рублей!

Новая биржа контента: цена = качество!
Движок то какой, вп?
Цитата
Dexter пишет:
Движок то какой, вп?
Ага.
Код
 function kama_breadcrumbs( $sep=' » ' ){

   global $post, $wp_query, $wp_post_types;
   // для локализации
   $l = array(
      'home' => 'Главная'
      ,'paged' => 'Страница %s'
      ,'404' => 'Ошибка 404'
      ,'search' => 'Результаты поиска по запросу - <b>%s</b>'
      ,'author' => 'Архив автора: <b>%s</b>'
      ,'year' => 'Архив за <b>%s</b> год'
      ,'month' => 'Архив за: <b>%s</b>'
      ,'day' => ''
      ,'attachment' => 'Медиа: %s'
      ,'tag' => 'Записи по метке: <b>%s</b>'
      ,'tax_tag' => '%s из "%s" по тегу: <b>%s</b>'
   );

   $w1 = '<div class="kama_breadcrumbs" xmlns:v="http://rdf.data-vocabulary.org/#">';
   $w2 = '</div>';
   $patt1 = '<span typeof="v:Breadcrumb"><a href="%s" rel="v:url" property="v:title">';
   $sep .= '</span>'; // закрываем span после разделителя!
   $patt = $patt1.'%s</a>';

   if( $paged = $wp_query->query_vars['paged'] ){
      $pg_patt = $patt1;
      $pg_end = '</a>'. $sep . sprintf($l['paged'], $paged);
   }

   $out = '';
   if( is_front_page() )
      return print $w1.($paged?sprintf($pg_patt, get_bloginfo('url')):'') . $l['home'] . $pg_end .$w2;

   elseif( is_404() )
      $out = $l['404']; 

   elseif( is_search() ){
      $out = sprintf( $l['search'], strip_tags($GLOBALS['s']) );
   }
   elseif( is_author() ){
      $q_obj = &$wp_query->queried_object;
      $out = ($paged?sprintf( $pg_patt, get_author_posts_url($q_obj->ID, $q_obj->user_nicename) ):'') . sprintf($l['author'], $q_obj->display_name) . $pg_end;
   }
   elseif( is_year() || is_month() || is_day() ){
      $y_url = get_year_link( $year=get_the_time('Y') );
      $m_url = get_month_link( $year, get_the_time('m') );
      $y_link = sprintf($patt, $y_url, $year);
      $m_link = sprintf($patt, $m_url, get_the_time('F'));
      if( is_year() )
         $out = ($paged?sprintf($pg_patt, $y_url):'') . sprintf($l['year'], $year) . $pg_end;
      elseif( is_month() )
         $out = $y_link . $sep . ($paged?sprintf($pg_patt, $m_url):'') . sprintf($l['month'], get_the_time('F')) . $pg_end;
      elseif( is_day() )
         $out = $y_link . $sep . $m_link . $sep . get_the_time('l');
   }

   // Страницы и древовидные типы записей
   elseif( $wp_post_types[$post->post_type]->hierarchical ){
      $parent = $post->post_parent;
      $crumbs=array();
      while($parent){
        $page = &get_post($parent);
        $crumbs[] = sprintf($patt, get_permalink($page->ID), $page->post_title);
        $parent = $page->post_parent;
      }
      $crumbs = array_reverse($crumbs);
      foreach ($crumbs as $crumb)
         $out .= $crumb.$sep;
      $out = $out . $post->post_title;
   }
   else // Таксономии, вложения и не древовидные типы записей
   {
      // Определяем термины
      if( is_singular() ){
         if( ! $taxonomies ){
            $taxonomies = get_taxonomies( array('hierarchical' => true, 'public' => true) );
            if( count( $taxonomies ) == 1 ) $taxonomies = 'category';
         }
         if( $term = get_the_terms( $post->post_parent ? $post->post_parent : $post->ID, $taxonomies ) ){
            $term = array_shift( $term );
         }
      }
      else
         $term = &$wp_query->get_queried_object();

      if( ! $term && ! is_attachment() )
         return print "Error: Taxonomy is not defined!"; 

      $pg_term_start = ($paged && $term->term_id) ? sprintf( $pg_patt, get_term_link( (int)$term->term_id, $term->taxonomy ) ) : '';

      if( is_attachment() ){
         if(!$post->post_parent)
            $out = sprintf($l['attachment'], $post->post_title);
         else
            $out = crumbs_tax($term->term_id, $term->taxonomy, $sep, $patt) . sprintf($patt, get_permalink($post->post_parent), get_the_title($post->post_parent) ).$sep.$post->post_title;
      }
      elseif( is_single() )
         $out = crumbs_tax($term->parent, $term->taxonomy, $sep, $patt) . sprintf($patt, get_term_link( (int)$term->term_id, $term->taxonomy ), $term->name). $sep.$post->post_title;
      // Метки, архивная страница типа записи, произвольные одноуровневые таксономии
      elseif( ! is_taxonomy_hierarchical( $term->taxonomy ) ){
         // метка
         if( is_tag() )
            $out = $pg_term_start . sprintf($l['tag'], $term->name) . $pg_end;
         // архивная страница произвольного типа записи
         elseif( !$term->term_id ) 
            $home_after = sprintf($patt, '/'. $term->name, $term->label). $pg_end;
         // таксономия
         else {
            $post_label = $wp_post_types[$post->post_type]->labels->name;
            $tax_label = $GLOBALS['wp_taxonomies'][$term->taxonomy]->labels->name;
            $out = $pg_term_start . sprintf($l['tax_tag'], $post_label, $tax_label, $term->name) .  $pg_end;
         }
      }
      // Рубрики и таксономии
      else
         $out = crumbs_tax($term->parent, $term->taxonomy, $sep, $patt) . $pg_term_start . $term->name . $pg_end;
   }

   // замена ссылки на архивную страницу для типа записи 
   if( $post->post_type == 'book' )
      $home_after = sprintf($patt, '/about_book', 'Книжки'). $sep;

   // ссылка на архивную страницу произвольно типа поста
   if( ! $home_after && ! empty($post->post_type) && $post->post_type != 'post' && !is_page() && !is_attachment() )
      $home_after = sprintf($patt, '/'. $post->post_type, $wp_post_types[$post->post_type]->labels->name ). $sep;

   $home = sprintf($patt, get_bloginfo('url'), $l['home'] ). $sep . $home_after;

   return print $w1. $home . $out .$w2;
}
function crumbs_tax($term_id, $tax, $sep, $patt){
   $termlink = array();
   while( (int)$term_id ){
      $term2 = &get_term( $term_id, $tax );
      $termlink[] = sprintf($patt, get_term_link( (int)$term2->term_id, $term2->taxonomy ), $term2->name). $sep;
      $term_id = (int)$term2->parent;
   }
   $termlinks = array_reverse($termlink);
   return implode('', $termlinks);
} 
Это в function.php вставьте

Код
<?php kama_breadcrumbs(); ?>
 


А это - там, где нужно вывести хлебные крошки. Ну и css это оформите
Цитата
Dexter пишет:
Это в function.php вставьте
Спасибо!) А нюансов нет никаких в настройке?

Цитата
Dexter пишет:
А это - там, где нужно вывести хлебные крошки. Ну и css это оформите
В CSS очень слаб я!( Не подскажите код для этого? А я подправлю если что...
Нет, просто вставляете, то, что написал ранее. А по оформлению - уже не помню, как оформлял у себя. Вы добавьте на сайте, а там уже подскажу, как оформить
Цитата
Dexter пишет:
Нет, просто вставляете, то, что написал ранее. А по оформлению - уже не помню, как оформлял у себя. Вы добавьте на сайте, а там уже подскажу, как оформить

Код
01/* Стили для хлебных крошек */02 03#breadcrumbs {04    width: auto;    /* Общая ширина страницы */05    font-size: 14px;   /* Размер шрифта */06    color:  #215B9B;   /* Цвет текста, который не является ссылкой */07    text-shadow: #5DB6FA 0px 1px 1px;  /* Тени для текста (необязательно) */08    text-align: left;   /* Прижимаем текст к левому краю страницы */09    margin: 3px 30px 0px 30px;  /* Внешние отступы */10    padding-bottom: 5px;   /* Внутренние отступы */11    border-bottom: 2px solid #f2f2f2;  /* Добавляем разделительную черту снизу */12}13 14/* цвет ссылок */15 16#breadcrumbs a, #breadcrumbs a:visited {17    color: #215B9B;  /* Цвет ссылки */18    text-decoration: none;  /* Отменяем подчеркивание ссылок */19}20 21/* цвет ссылок при наведении курсора */22 23#breadcrumbs a:hover, #breadcrumbs a:active {24     color: #C6C600;  /* цвет ссылки при наведении курсора */25     text-decoration: none;  /* Отменяем подчеркивание ссылок при наведении курсора */26} 
Примерно так?
Ой, вот: 
Код
/* Стили для хлебных крошек */

#breadcrumbs {
    width: auto;    /* Общая ширина страницы */
    font-size: 14px;   /* Размер шрифта */
    color:  #215B9B;   /* Цвет текста, который не является ссылкой */
    text-shadow: #5DB6FA 0px 1px 1px;  /* Тени для текста (необязательно) */
    text-align: left;   /* Прижимаем текст к левому краю страницы */
    margin: 3px 30px 0px 30px;  /* Внешние отступы */
    padding-bottom: 5px;   /* Внутренние отступы */
    border-bottom: 2px solid #f2f2f2;  /* Добавляем разделительную черту снизу */
}

/* цвет ссылок */

#breadcrumbs a, #breadcrumbs a:visited {
    color: #215B9B;  /* Цвет ссылки */
    text-decoration: none;  /* Отменяем подчеркивание ссылок */
}

/* цвет ссылок при наведении курсора */

#breadcrumbs a:hover, #breadcrumbs a:active {
     color: #C6C600;  /* цвет ссылки при наведении курсора */
     text-decoration: none;  /* Отменяем подчеркивание ссылок при наведении курсора */
} 
Да, можно и так smile:) На вкус и цвет.
Цитата
Dexter пишет:
Да, можно и так smile:) На вкус и цвет.
Написал вам в ЛС, есть проблемки с отображением(
Цитата
GdeProfit пишет:
Цитата
Dexter пишет:
Да, можно и так smile:) На вкус и цвет.
Написал вам в ЛС, есть проблемки с отображением(
Спасибо за помощь - Dexter, все четко!) Побольше бы таких людей, и мир бы был добрее!)))
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
03:48 3snet - гемблинг, беттинг, форекс, бинарные опционы, майнинг 
22:55 LOSPOLLOS.COM - Конвертим по рецепту Хайзенберга. Dating, Mainstream, Binary Options 
22:08 Webvork - международная товарная СРА сеть с сертифицированными офферами на Европу. 
21:18 SharkBoss - партнёрская программа для монетизации ЛЮБЫХ видов трафика (включая спам). 
19:05 Gambling Craft - гемблинг по белому 
21:45 Как сократить ссылку и зачем это делать. 
16:49 Perfect.Studio: InstAccountsManager — лучший инструмент для автоматизации заработка в Instagram 
22:08 Coin Click.cc - Быстрый и надежный обмен электронных валют в два клика 
16:13 Transit-Bit.com - Обмен USDT на IDR, THB, RUB и наличные 
13:49 Продам базу данных предприятий Украины, России, Великобритании, Германии, Испании, Италии, Нидерландов, Польши, Франции, Швейцарии и др. 
11:20 Чек номеров на наличие Telegram/ Filter (checking) numbers Telegram 
11:05 Высококачественные и надежные прокси-серверы и 5G 
10:14 BestChange – обменивать электронную валюту можно быстро и выгодно 
21:12 Ural-obmen.ru — выгодный сервис обмена 
18:35 Точные прогнозы на футбол 
20:22 Как получить рефералов и посетителей на сайт бесплатно. 
18:31 Видимо, похороны СУПРа уже прошли как-то по-тихому 
12:48 Каспкрски ОС 
11:21 Ням-ням! - 8 деликатесов, которые когда-то ели только бедные люди 
14:41 Бесплатный мини-аудит юзабилити и конверсии + технический SEO-аудит в подарок 
15:24 Добро пожаловать в цифровой мир...