mojwp.ru
Назад

Хаки WordPress - хлебные крошки WordPress без плагина

Опубликовано: 04.09.2011
20
848

Хаки WordPress выводим хлебные крошки без плагинаНедавно я рассказывал, как при помощи плагина Breadcrumb NavXT показать посетителю "хлебные крошки" (путь от главной страницы до страниц прибывания). Данная вещь служит одновременно для нужд SEO и навигации по сайту, т.е. способствует более лучшей ориентации пользователя на сайте. Сегодня сделаем то же самое, но без использования плагина, при помощи небольшого куска кода.

Безусловно, Вы можете воспользоваться плагином. Но используя хак - снижается нагрузка на хостинг, что дает свои плюсы при загрузке странички. Даже установив плагин, Вы все-равно будете вставлять руками код в файлы шаблона. Так почему не вставить код в еще один файл и не избавиться от плагина?

Если надумали использовать хак, то открываем файл functions.php (находится в папке с шаблоном сайта) и добавляем следующий код перед закрывающим символом ?> (в самом конце файла):

function the_breadcrumb() {
echo '
    '; if (!is_home()) { echo '
  • '; echo 'Home'; echo "
  • "; if (is_category() || is_single()) { echo '
  • '; the_category('
  • '); if (is_single()) { echo "
  • "; the_title(); echo '
  • '; } } elseif (is_page()) { echo '
  • '; echo the_title(); echo '
  • '; } } elseif (is_tag()) {single_tag_title();} elseif (is_day()) {echo"
  • Archive for "; the_time('F jS, Y'); echo'
  • ';} elseif (is_month()) {echo"
  • Archive for "; the_time('F, Y'); echo'
  • ';} elseif (is_year()) {echo"
  • Archive for "; the_time('Y'); echo'
  • ';} elseif (is_author()) {echo"
  • Author Archive"; echo'
  • ';} elseif (isset($_GET['paged']) && !empty($_GET['paged'])) {echo "
  • Blog Archives"; echo'
  • ';} elseif (is_search()) {echo"
  • Search Results"; echo'
  • ';} echo '
'; }

Далее нам остается отобразить эти самые "хлебные крошки" на сайте. Для этого прописываем следующий код в место, где будем его показывать (обычно в single.php, page.php):

Стили оформления можно сделать по аналогии с плагином, ссылка на который находится выше по тексту. Попробуйте.

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

Автор:
Виталий
Поделиться
Похожие записи
Черкани пару строк
  • Леонид
    Опубликовано: 16.05.2012 Ответить на сообщение

    Установил хак. Прописал вызов.Ничего не вижу.Что необходимо и где прописывать в CSS

    • mojWP
      Опубликовано: 16.05.2012 Ответить на сообщение

      напишите в личку пошагово что и куда вставляли.

      CSS - это стили
      их оформляете индивидуально под свой дизайн сайта. Какой-то шаблон предоставить не могу, т.к. угодить всем не получится

  • Надежда
    Опубликовано: 28.06.2012 Ответить на сообщение

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

    • Виталий
      Опубликовано: 29.06.2012 Ответить на сообщение

      есть шаблоны, где подобные штуки помещаются в сайдбар.
      Данный код можно сделать и в строку, достаточно немного понимать php и css. Об это есть другие стать на сайте. Почитайте

      • Анастасия
        Опубликовано: 02.07.2012 Ответить на сообщение

        Виталий, я вроде бы немного понимаю php и css, но подскажите, пожалуйста, как сделать, чтобы в линию выводились? Это все таки надо в php лезть или настраивать стили? Спасибо.

        • Виталий
          Опубликовано: 02.07.2012 Ответить на сообщение

          нужно код менять. Он сейчас сделан через UL.

          • Анастасия
            Опубликовано: 02.07.2012 Ответить на сообщение

            О, спасибо. Это я уже "додумала" 🙂 А менять совсем нужно или достаточно теги списка заменить на что-то другое?

  • Анастасия
    Опубликовано: 02.07.2012 Ответить на сообщение

    Уже поняла, что это в самом коде - там теги списка прописаны, значит, он отвечает за вывод столбиком. Теги эти убрала, выводится теперь в линию, но слишком близко друг к другу, как одно слово. Чтобы сделать между ними красивые отступы моих знаний php уже не хватает((( Подскажите, пожалуйста, что делать, если не сложно!

    • Виталий
      Опубликовано: 02.07.2012 Ответить на сообщение

      так же нужно каждому элементу задать свой стиль. Можете попробовать вместо li поставить span и задать class, после чего уже в style.css этому классу задать отступы и внешний вид.
      Думаю, этот вариант будет проще всего сделать

      • Анастасия
        Опубликовано: 02.07.2012 Ответить на сообщение

        Спасибо за подсказку. Все получилось. 🙂

        • Дмитрий
          Опубликовано: 17.05.2013 Ответить на сообщение

          css :

          #crumbs li {
          display: inline;
          margin-left: 10px;
          }
          
  • Юрий
    Опубликовано: 14.01.2013 Ответить на сообщение

    Доброго времени суток. скажите пожалуйста, как сделать так, чтоб вместо первой крошки "Home" писало "главная", например? Заранее благодарен!

    • Юрий
      Опубликовано: 14.01.2013 Ответить на сообщение

      Спасибо,разобрался

  • Александр
    Опубликовано: 07.04.2013 Ответить на сообщение

    Не знаю, это у меня или у Вас, но в этом месте: "как при помощи плагина Breadcrumb NavXT показать посетителю "хлебные крошки"" ссылка не работает.
    А статья - как всегда - отличная.

    • Виталий
      Опубликовано: 08.04.2013 Ответить на сообщение

      была битая ссылка. Спасибо за подсказку

  • Дмитрий
    Опубликовано: 17.05.2013 Ответить на сообщение

    Если интересно, мне не нравится ссылка в рубрике на саму себя, сделал вот так:

    if (is_single()) {
    		echo '';
    		the_category('  ');
    			if (is_single()) {
    			echo "";
    			the_title();
    			echo '';
    			}
    		} 
    		if (is_category()) {
    			echo '';single_cat_title();echo'';
    		}
    
    • Дмитрий
      Опубликовано: 17.05.2013 Ответить на сообщение

      Повырезало внутри кавычек :((
      Там тоже самое,что и в исходнике,а функция single_cat_title() без аргументов

  • Виталий
    Опубликовано: 09.12.2014 Ответить на сообщение

    установил как сказали ничего не вижу ,большой код в css?

  • Алексей
    Опубликовано: 27.07.2016 Ответить на сообщение

    Виталий, а как у вас реализован вывод данных "Редакция: такого-то числа" в хлебных крошках?

    В моём шаблоне от Гудвина изначально прописаны крошки от Dimox'a. В них как-то можно добавить вывод даты последней редакции статьи?

    Спасибо.

    • Виталий
      Опубликовано: 28.07.2016 Ответить на сообщение

      Можно, если вставить код.
      Где-то писал на блоге, поищите

Имя
Укажите своё имя и фамилию
E-mail
Без СПАМа, обещаем
Текст сообщения
Отправляя данную форму, вы соглашаетесь с политикой конфиденциальности и правилами нашего сайта.