Создание плагина “Облако тегов” для wordpress

Создание плагина WordPress для генерации облака тегов может быть полезным дополнением для блога или сайта с большим количеством контента. Вот как вы можете реализовать такой плагин:

1. Создание плагина “Облако тегов”

Создайте новую папку в каталоге плагинов WordPress, например, tag-cloud-generator. В этой папке создайте файл tag-cloud-generator.php с следующим содержимым:

<?php
/*
Plugin Name: Tag Cloud Generator
Plugin URI: https://hubai.ru
Description: Генератор облака тегов для WordPress.
Version: 1.0
Author: HubAi.ru
Author URI: https://hubai.ru
*/

// Функция для генерации облака тегов
function generate_tag_cloud() {
    global $wpdb;

    // Запрос для получения тегов и их количества
    $tags = $wpdb->get_results("
        SELECT t.name, COUNT(tr.object_id) as count
        FROM {$wpdb->terms} t
        JOIN {$wpdb->term_taxonomy} tt ON t.term_id = tt.term_id
        JOIN {$wpdb->term_relationships} tr ON tt.term_taxonomy_id = tr.term_taxonomy_id
        WHERE tt.taxonomy = 'post_tag'
        GROUP BY t.name
        ORDER BY count DESC
    ");

    // Генерация HTML-кода облака тегов
    $cloud = '<div class="tag-cloud">';
    foreach ($tags as $tag) {
        $tag_link = get_tag_link($tag->name);
        $cloud .= '<a href="' . $tag_link . '" class="tag-link" style="font-size: ' . (12 + $tag->count) . 'px;">' . $tag->name . '</a> ';
    }
    $cloud .= '</div>';

    return $cloud;
}

// Добавляем шорткод для генерации облака тегов
function tag_cloud_shortcode($atts) {
    return generate_tag_cloud();
}
add_shortcode('tag_cloud', 'tag_cloud_shortcode');

// Добавляем функцию для вывода облака тегов в сайдбаре
function display_tag_cloud() {
    echo generate_tag_cloud();
}
add_action('wp_sidebar', 'display_tag_cloud');

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

2. Размещение и использование плагина

Чтобы разместить плагин на сайте:

  1. Загрузка: Загрузите папку tag-cloud-generator в каталог плагинов WordPress на вашем сервере.
  2. Активация: Войдите в административную панель WordPress, перейдите в раздел “Плагины” и активируйте плагин “Tag Cloud Generator”.

Теперь вы можете использовать плагин двумя способами:

  • Шорткод: Добавьте шорткод [tag_cloud] в текст статьи или страницы, чтобы отобразить облако тегов.
  • Сайдбар: Плагин автоматически добавит облако тегов в сайдбар вашего сайта (если он есть). Вы можете настроить отображение сайдбара в настройках темы.

3. Настройка стиля

Чтобы облако тегов соответствовало стилю вашего сайта, вы можете добавить CSS-стили в файл стиля вашей темы (например, style.css) или создать отдельный файл стилей для плагина. Например:

/* Стиль для облака тегов */
.tag-cloud {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.tag-link {
    display: inline-block;
    margin: 5px;
    text-decoration: none;
    color: #333;
    transition: color 0.3s;
}

.tag-link:hover {
    color: #0073aa;
}

Этот CSS-код сделает облако тегов более привлекательным и адаптивным.

Теперь у вас есть плагин WordPress, который генерирует динамическое облако тегов, основываясь на данных вашего сайта. Это отличный способ помочь пользователям быстро ориентироваться в контенте и находить интересующие их темы.