Автоматическое создание категорий в WordPress по шаблону: практические советы и примеры

Работа с категориями в WordPress — важная часть организации контента. При больших объемах сайта или при создании нескольких проектов часто возникает задача массового создания категорий по определённому шаблону. Вручную это долго и неудобно, особенно если структура категорий сложная. В этой статье рассмотрим, как автоматизировать создание категорий в WordPress с помощью кода и плагинов, а также как расширить функционал для удобства редактирования.

Почему автоматизация создания категорий важна

Если у вас сайт с большим количеством тематик, например, новостной ресурс, портал с обзорами или интернет-магазин, то категории помогают структурировать материалы и улучшить навигацию. Автоматическое создание категорий позволяет:

  • Экономить время на рутинных операциях.
  • Избежать ошибок при ручном создании.
  • Унифицировать структуру категорий на нескольких сайтах.
  • Быстро обновлять или добавлять новые ветки категорий по шаблону.

Это особенно актуально, если вы часто создаёте сайты под заказ или управляете мультисайтовой сетью.

Создание категорий по шаблону с помощью PHP кода в functions.php

Для автоматизации можно использовать функцию wp_insert_term, которая создаёт термин (в нашем случае категорию) в таксономии. Рассмотрим пример функции yarppCreateCategoriesAutomated(), которая создаст несколько категорий с вложенностью по шаблону.

function yarppCreateCategoriesAutomated() {
    // Проверяем, не созданы ли категории уже
    if (term_exists('Категория A', 'category')) {
        return;
    }

    // Создаём родительскую категорию
    $parent_id = wp_insert_term('Категория A', 'category');
    if (is_wp_error($parent_id)) {
        error_log('Ошибка создания категории A: ' . $parent_id->get_error_message());
        return;
    }

    // Создаём дочерние категории
    $child_categories = ['Подкатегория A1', 'Подкатегория A2', 'Подкатегория A3'];

    foreach ($child_categories as $child) {
        $result = wp_insert_term($child, 'category', ['parent' => $parent_id['term_id']]);
        if (is_wp_error($result)) {
            error_log('Ошибка создания подкатегории ' . $child . ': ' . $result->get_error_message());
        }
    }
}

// Запускаем функцию при инициализации админки
add_action('admin_init', 'yarppCreateCategoriesAutomated');

Этот пример создаёт одну родительскую категорию и три вложенные подкатегории. В реальных условиях можно расширить шаблон, считывать данные из файла или API.

Расширение примера: создание категорий из массива с описаниями

Чтобы добавить описания и слага, можно расширить массив и функцию:

function yarppCreateCategoriesWithMeta() {
    $categories = [
        [
            'name' => 'Категория B',
            'slug' => 'kategoria-b',
            'description' => 'Описание категории B',
            'children' => [
                [
                    'name' => 'Подкатегория B1',
                    'slug' => 'podkategoria-b1',
                    'description' => 'Описание подкатегории B1'
                ],
                [
                    'name' => 'Подкатегория B2',
                    'slug' => 'podkategoria-b2',
                    'description' => 'Описание подкатегории B2'
                ]
            ]
        ]
    ];

    foreach ($categories as $cat) {
        $parent = wp_insert_term($cat['name'], 'category', [
            'slug' => $cat['slug'],
            'description' => $cat['description']
        ]);

        if (is_wp_error($parent)) {
            error_log('Ошибка создания категории ' . $cat['name'] . ': ' . $parent->get_error_message());
            continue;
        }

        if (!empty($cat['children'])) {
            foreach ($cat['children'] as $child) {
                $result = wp_insert_term($child['name'], 'category', [
                    'slug' => $child['slug'],
                    'description' => $child['description'],
                    'parent' => $parent['term_id']
                ]);

                if (is_wp_error($result)) {
                    error_log('Ошибка создания подкатегории ' . $child['name'] . ': ' . $result->get_error_message());
                }
            }
        }
    }
}

add_action('admin_init', 'yarppCreateCategoriesWithMeta');

Использование плагинов для массового создания категорий

Если вы не хотите писать код, существуют плагины, которые позволяют импортировать и создавать категории из CSV, Excel или других форматов:

  • WP All Import — мощный плагин для импорта данных, включая категории. Можно настроить шаблоны для массового создания терминов.
  • Bulk Press — плагин для массового создания категорий, тегов и пользовательских таксономий. Позволяет создавать и удалять таксономии оптом.
  • Clearfy Pro — плагин с функциями оптимизации и управления, который может помочь в решении задач с таксономиями.

Для работы с этими плагинами обычно нужно подготовить файл с названиями, описаниями и связями категорий, а затем импортировать.

Пример работы с WP All Import для категорий

1. Подготовьте CSV файл с колонками: name,slug,parent,description.

2. В админке WP All Import создайте новый импорт, выберите файл.

3. Настройте маппинг полей на соответствующие параметры таксономии category.

4. Запустите импорт, категории создадутся автоматически согласно шаблону.

Автоматизация создания категорий с помощью WP-CLI

Если у вас есть доступ к серверу и командной строке, WP-CLI — отличный инструмент для массовой работы с категориями.

Например, можно создать bash-скрипт, который прочитает список категорий из файла и выполнит команду создания:

#!/bin/bash

while IFS=, read -r name slug parent_slug description
 do
   if [ -z "$parent_slug" ]; then
     wp term create category "$name" --slug="$slug" --description="$description"
   else
     parent_id=$(wp term list category --slug="$parent_slug" --field=term_id)
     wp term create category "$name" --slug="$slug" --description="$description" --parent=$parent_id
   fi
 done < categories.csv

В файле categories.csv содержатся категории в формате: имя, слаг, слаг родителя, описание. Такой подход удобен для регулярного обновления категорий с помощью автоматизированных скриптов.

Советы по организации и поддержке автоматического создания категорий

1. Проверяйте ошибки при создании категорий — используйте is_wp_error и логирование, чтобы отследить проблемы.

2. Избегайте повторного создания — перед созданием проверяйте, существует ли уже категория с таким именем или слагом.

3. Используйте хуки WordPress, чтобы запускать создание категорий только по необходимости, например, при активации плагина или по запросу через WP-CLI.

4. Документируйте структуру шаблона категорий, чтобы команда могла легко вносить изменения.

Заключение по теме автоматизации категорий

Автоматизация создания категорий в WordPress — мощный способ упростить и ускорить управление структурой сайта. С помощью кода, плагинов и WP-CLI можно легко создавать сложные и вложенные категории по шаблону, избавляясь от рутинной ручной работы.

Используйте приведённые примеры и советы для настройки своего проекта. Если нужно больше функционала — обратите внимание на Clearfy Pro, который помогает управлять таксономиями и оптимизировать работу сайта.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как создать собственный блок связанных записей с использованием YARPP и AJAX
21.03.2026
Как создать кастомные шаблоны связанных записей в WordPress
22.12.2025
Как автоматизировать создание связанных записей по ключевым словам в WordPress
09.04.2026
Использование YarnN для улучшения автоподбора связанных записей в WordPress
19.12.2025
Автоматическое создание связанных записей на основе мета-данных в WordPress
01.04.2026
×
WordPress
дай сайту суперсилу!

Скидки на топовые темы и плагины

Активировать суперсилу ⋙