Плагин wordpress хлебные крошки для постов

от автора

в
Время чтения: 3 мин.

Создание плагина для добавления «хлебных крошек» (breadcrumbs) в WordPress — это отличный способ улучшить навигацию на вашем сайте. Хлебные крошки показывают путь к текущей странице, что помогает пользователям ориентироваться на сайте. Вот пошаговое руководство по созданию такого плагина:


Шаги для создания плагина:

  1. Создайте папку для плагина:
  • В директории wp-content/plugins/ создайте папку, например, simple-breadcrumbs.
  1. Создайте основной файл плагина:
  • Внутри папки simple-breadcrumbs создайте файл simple-breadcrumbs.php.
  1. Добавьте код плагина:
    Вставьте следующий код в файл 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 .= ' &raquo; <a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a>';
        }
        $breadcrumbs .= ' &raquo; ' . get_the_title();
    }

    // Если это страница категории
    elseif (is_category()) {
        $category = get_queried_object();
        $breadcrumbs .= ' &raquo; ' . $category->name;
    }

    // Если это страница
    elseif (is_page()) {
        $breadcrumbs .= ' &raquo; ' . get_the_title();
    }

    // Если это архив
    elseif (is_archive()) {
        $breadcrumbs .= ' &raquo; Архив';
    }

    // Если это 404 страница
    elseif (is_404()) {
        $breadcrumbs .= ' &raquo; 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');

Как работает плагин:

  1. Функция sb_get_breadcrumbs:
  • Генерирует хлебные крошки в зависимости от типа страницы (запись, категория, страница, архив, 404).
  • Использует функцию get_the_category() для получения категории записи и get_category_link() для получения ссылки на категорию.
  1. Шорткод :
  • Позволяет вручную добавить хлебные крошки в любое место с помощью шорткода .
  1. Автоматическое добавление:
  • Плагин автоматически добавляет хлебные крошки перед контентом на страницах записей и страниц с помощью фильтра the_content.

Установка плагина:

  1. Загрузите папку simple-breadcrumbs в директорию wp-content/plugins/.
  2. Перейдите в Панель управления WordPress → Плагины.
  3. Найдите плагин Simple Breadcrumbs и активируйте его.

Использование плагина:

  1. Автоматическое добавление:
  • Хлебные крошки автоматически появятся перед контентом на страницах записей и страниц.
  1. Использование шорткода:
  • Добавьте шорткод в любое место, где хотите вывести хлебные крошки.

Пример вывода:

На странице записи хлебные крошки будут выглядеть так:

Главная » Категория » Название записи

На странице категории:

Главная » Категория

Дополнительные улучшения:

  1. Добавление поддержки таксономий:
  • Вы можете расширить плагин для поддержки пользовательских таксономий (например, тегов или пользовательских типов записей).
  1. Стилизация:
  • Добавьте CSS для стилизации хлебных крошек. Например:
.breadcrumbs {
    font-size: 14px;
    margin-bottom: 20px;
}
.breadcrumbs a {
    text-decoration: none;
    color: #0073aa;
}
.breadcrumbs a:hover {
    text-decoration: underline;
}
  1. Интеграция с 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 .= ' &raquo; <a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a>';
        }
        $breadcrumbs .= ' &raquo; ' . get_the_title();
    }

    elseif (is_singular('page')) {
        $breadcrumbs .= ' &raquo; ' . get_the_title();
    }

    elseif (is_singular('custom_post_type')) { // Замените на ваш тип записи
        $breadcrumbs .= ' &raquo; <a href="' . get_post_type_archive_link('custom_post_type') . '">Кастомный тип</a>';
        $breadcrumbs .= ' &raquo; ' . get_the_title();
    }

    elseif (is_category()) {
        $category = get_queried_object();
        $breadcrumbs .= ' &raquo; ' . $category->name;
    }

    elseif (is_archive()) {
        $breadcrumbs .= ' &raquo; Архив';
    }

    elseif (is_404()) {
        $breadcrumbs .= ' &raquo; 404 - Страница не найдена';
    }

    $breadcrumbs .= '</div>';
    return $breadcrumbs;
}

Теперь у вас есть простой и функциональный плагин для добавления хлебных крошек на ваш сайт WordPress!


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Сколько будет 6 + 3?