Время чтения: 3 мин.
Создание плагина для добавления «хлебных крошек» (breadcrumbs) в WordPress — это отличный способ улучшить навигацию на вашем сайте. Хлебные крошки показывают путь к текущей странице, что помогает пользователям ориентироваться на сайте. Вот пошаговое руководство по созданию такого плагина:
Шаги для создания плагина:
- Создайте папку для плагина:
- В директории
wp-content/plugins/
создайте папку, например,simple-breadcrumbs
.
- Создайте основной файл плагина:
- Внутри папки
simple-breadcrumbs
создайте файлsimple-breadcrumbs.php
.
- Добавьте код плагина:
Вставьте следующий код в файлsimple-breadcrumbs.php
:
<?php
/*
Plugin Name: Simple Breadcrumbs
Description: Добавляет хлебные крошки для постов, страниц и категорий.
Version: 1.0
Author: Ваше имя
*/
// Функция для вывода хлебных крошек
function sb_get_breadcrumbs() {
// Начало хлебных крошек
$breadcrumbs = '<div class="breadcrumbs">';
$breadcrumbs .= '<a href="' . home_url() . '">Главная</a>';
// Если это страница записи
if (is_single()) {
$categories = get_the_category();
if ($categories) {
$category = $categories[0]; // Берем первую категорию
$breadcrumbs .= ' » <a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a>';
}
$breadcrumbs .= ' » ' . get_the_title();
}
// Если это страница категории
elseif (is_category()) {
$category = get_queried_object();
$breadcrumbs .= ' » ' . $category->name;
}
// Если это страница
elseif (is_page()) {
$breadcrumbs .= ' » ' . get_the_title();
}
// Если это архив
elseif (is_archive()) {
$breadcrumbs .= ' » Архив';
}
// Если это 404 страница
elseif (is_404()) {
$breadcrumbs .= ' » 404 - Страница не найдена';
}
// Завершение хлебных крошек
$breadcrumbs .= '</div>';
return $breadcrumbs;
}
// Шорткод для вывода хлебных крошек
function sb_breadcrumbs_shortcode() {
return sb_get_breadcrumbs();
}
add_shortcode('breadcrumbs', 'sb_breadcrumbs_shortcode');
// Автоматическое добавление хлебных крошек в контент
function sb_auto_add_breadcrumbs($content) {
if (is_single() || is_page()) {
$breadcrumbs = sb_get_breadcrumbs();
$content = $breadcrumbs . $content;
}
return $content;
}
add_filter('the_content', 'sb_auto_add_breadcrumbs');
Как работает плагин:
- Функция
sb_get_breadcrumbs
:
- Генерирует хлебные крошки в зависимости от типа страницы (запись, категория, страница, архив, 404).
- Использует функцию
get_the_category()
для получения категории записи иget_category_link()
для получения ссылки на категорию.
- Шорткод
:
- Позволяет вручную добавить хлебные крошки в любое место с помощью шорткода
.
- Автоматическое добавление:
- Плагин автоматически добавляет хлебные крошки перед контентом на страницах записей и страниц с помощью фильтра
the_content
.
Установка плагина:
- Загрузите папку
simple-breadcrumbs
в директориюwp-content/plugins/
. - Перейдите в Панель управления WordPress → Плагины.
- Найдите плагин Simple Breadcrumbs и активируйте его.
Использование плагина:
- Автоматическое добавление:
- Хлебные крошки автоматически появятся перед контентом на страницах записей и страниц.
- Использование шорткода:
- Добавьте шорткод
в любое место, где хотите вывести хлебные крошки.
Пример вывода:
На странице записи хлебные крошки будут выглядеть так:
Главная » Категория » Название записи
На странице категории:
Главная » Категория
Дополнительные улучшения:
- Добавление поддержки таксономий:
- Вы можете расширить плагин для поддержки пользовательских таксономий (например, тегов или пользовательских типов записей).
- Стилизация:
- Добавьте CSS для стилизации хлебных крошек. Например:
.breadcrumbs {
font-size: 14px;
margin-bottom: 20px;
}
.breadcrumbs a {
text-decoration: none;
color: #0073aa;
}
.breadcrumbs a:hover {
text-decoration: underline;
}
- Интеграция с Yoast SEO:
- Если на вашем сайте установлен плагин Yoast SEO, вы можете использовать его API для генерации хлебных крошек.
Пример улучшенного плагина:
Если вы хотите добавить поддержку пользовательских типов записей, используйте следующий код:
// Добавление поддержки пользовательских типов записей
function sb_get_breadcrumbs() {
$breadcrumbs = '<div class="breadcrumbs">';
$breadcrumbs .= '<a href="' . home_url() . '">Главная</a>';
if (is_singular('post')) {
$categories = get_the_category();
if ($categories) {
$category = $categories[0];
$breadcrumbs .= ' » <a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a>';
}
$breadcrumbs .= ' » ' . get_the_title();
}
elseif (is_singular('page')) {
$breadcrumbs .= ' » ' . get_the_title();
}
elseif (is_singular('custom_post_type')) { // Замените на ваш тип записи
$breadcrumbs .= ' » <a href="' . get_post_type_archive_link('custom_post_type') . '">Кастомный тип</a>';
$breadcrumbs .= ' » ' . get_the_title();
}
elseif (is_category()) {
$category = get_queried_object();
$breadcrumbs .= ' » ' . $category->name;
}
elseif (is_archive()) {
$breadcrumbs .= ' » Архив';
}
elseif (is_404()) {
$breadcrumbs .= ' » 404 - Страница не найдена';
}
$breadcrumbs .= '</div>';
return $breadcrumbs;
}
Теперь у вас есть простой и функциональный плагин для добавления хлебных крошек на ваш сайт WordPress!
Добавить комментарий