Последние несколько дней я почти не выходил из-за компьютера. Писал плагин для WordPress, который должен автоматически собирать новости из RSS, переписывать их через нейросети, генерировать картинки и публиковать на сайт. С помощью DeepSeek я набросал почти 2000 строк кода, настроил структуру, вкладки, формы, интеграцию с API YandexGPT и YandexART. Всё выглядит идеально. Меню в админке — как у топовых плагинов. Логи пишутся, настройки сохраняются, cron-задача планируется. Красота!
Но есть нюанс. Проверить работоспособность я пока не могу — ошибка. Где-то зарылась маленькая, хитрая нестыковка, которая не даёт плагину запуститься. И знаешь? Я не расстраиваюсь. Наоборот — это самое интересное! Мы с DeepSeek уже начали охоту на баг, и она обещает быть увлекательной.
Сегодня расскажу, как создавался этот плагин, почему я в восторге от результата, даже несмотря на ошибку, и какую интригу оставим для следующей статьи.
Откуда взялась идея и почему DeepSeek
Я веду блог milyutin-codes.ru, где делюсь кодом, мыслями и ошибками. Но вести блог — полдела. Нужно публиковать свежие новости, чтобы сайт был живым. А где взять время, если я таксист и свободные минуты — только между заказами?
Я решил автоматизировать рутину: пусть машина собирает новости из RSS, переписывает их (чтобы не было копипаста), придумывает заголовки, теги, даже картинки генерирует. Всё это можно сделать через YandexGPT и YandexART. Оставалось только «склеить» их с WordPress.
Но я — не профессиональный PHP-разработчик. Основы знаю, но писать сложный плагин с нуля — страшно. И тут я вспомнил про DeepSeek. Я уже использовал его для обучения, и он всегда выдавал понятные, структурированные решения. Я решил: «А давай попробуем создать плагин вместе».
Первый диалог: как DeepSeek спроектировал архитектуру

Я открыл чат и сформулировал задачу максимально чётко: «Ты — PHP-разработчик с опытом создания плагинов для WordPress. Пишешь чистый, задокументированный код. Ты понимаешь, что плагин будет создаваться с помощью ИИ-помощника (меня), и код должен быть максимально понятным, с комментариями, чтобы я мог легко объяснять его другим. Задача: Создать каркас плагина для WordPress под названием Autonews Publisher».
DeepSeek не просто выдал кусок кода — он спроектировал полноценную архитектуру:
autonews-publisher/ ├── autonews-publisher.php # Главный файл ├── includes/ │ ├── class-settings.php # Настройки (8 вкладок!) │ ├── class-rss-fetcher.php # Парсинг RSS │ ├── class-yandex-gpt.php # YandexGPT и YandexART │ ├── class-publisher.php # Публикация постов │ ├── class-logger.php # Логи в БД │ ├── class-cron.php # Планировщик │ └── class-email.php # Уведомления ├── assets/ │ ├── css/admin.css │ └── js/admin.js
Он сразу разбил функционал на классы, чтобы код был модульным и поддерживаемым. Каждый класс получил подробные комментарии на русском языке — я мог разобраться даже в сложных местах.
Как мы создавали каждую часть (и почему она выглядит идеально)

1. Страница настроек — как в дорогих плагинах
DeepSeek предложил использовать стандартные API WordPress: add_settings_section, add_settings_field, register_setting. Он создал восемь вкладок: Общие, RSS, Публикация, SEO, Внутренние ссылки, Уведомления, Планировщик, Логи.
Каждое поле — с nonce-защитой, валидацией и санитизацией. Например, для API-ключа используется тип password, для RSS — таблица с добавлением/удалением, для выбора рубрики — wp_dropdown_categories. Всё выглядит аккуратно и профессионально.
Особенно порадовала вкладка «Логи»: таблица с датой, статусом, сообщением и ссылкой на пост, кнопки «Очистить» и «Экспорт CSV». Это уровень коммерческих решений.
2. RSS-парсер с обработкой ошибок
Класс Autonews_RSS_Fetcher использует wp_remote_get и SimpleXML. Если лента недоступна или пустая, он пишет в лог и не падает. Это важно для стабильности.
3. Интеграция с YandexGPT — настоящий хардкор
DeepSeek написал методы для генерации заголовка, рерайта, ALT-тега и тегов. Он использовал официальный API Yandex: https://llm.api.cloud.yandex.net/llm/v1alpha/instruct. В запросах — заголовки с Api-Key и Folder ID, обработка ошибок, таймауты. Я просто вставил свои ключи — и всё заработало на уровне тестов.
4. Генерация изображений через YandexART — асинхронность

Это была самая сложная часть. YandexART работает асинхронно: сначала отправляешь запрос, получаешь operation_id, потом опрашиваешь статус. DeepSeek реализовал цикл с паузой 5 секунд (до 60 попыток), затем декодирует Base64, сохраняет файл и регистрирует его в медиатеке через wp_insert_attachment. Всё как в документации, только сразу готово к использованию.
5. Публикация — главный герой
Класс Autonews_Publisher объединяет всё:
Создаёт пост с переписанным заголовком и контентом.
Автоматически определяет рубрику (по ключевым словам — О компании, О человеке, Об ИИ, Об изобретении, Об исследовании).
Добавляет теги (не больше заданного числа).
Генерирует картинку через YandexART и устанавливает обложку.
Заполняет Rank Math (заголовок, описание, фокусный ключевик).
Добавляет внутренние ссылки (блок «Читайте также»).
Добавляет ссылку на источник.
Учитывает задержку и статус (опубликовано/черновик).
Пишет логи и отправляет email-уведомления.
Всё это выглядит как идеальный конструктор — каждый шаг продуман, все опции вынесены в настройки.
6. Планировщик — простота и надёжность
DeepSeek реализовал интеграцию с WP-Cron. При активации плагина ставится задача, при деактивации — удаляется. Частота и лимит новостей регулируются из админки.
Ошибка, которая делает историю живой
Когда я собрал все файлы и загрузил их на сервер, я ожидал, что плагин взлетит. Меню появилось. Настройки открылись. Вкладки переключались. Всё выглядело безупречно.
Но при попытке выполнить публикацию (вручную или по крону) — тишина. В логах пусто. Пост не создаётся. Где-то зарылась ошибка, которая не даёт завершить процесс.

Я проверил права доступа, логи, конфигурацию сервера — всё ок. Значит, проблема в логике. И это нормально. В программировании баги — это не катастрофа, а часть пути.
DeepSeek уже предложил несколько гипотез: возможно, неправильно передаются настройки, или API возвращает не тот формат, или не срабатывает хук cron. Мы начали пошаговую отладку. Я вставляю error_log, вывожу переменные, проверяю ответы от Yandex. Это кропотливая работа, но она даёт бесценный опыт.
Почему я всё равно в восторге
Даже с ошибкой я считаю проект успешным. Потому что:
Визуал и структура — на 10 из 10. Меню, вкладки, формы — всё сделано красиво и интуитивно.
Код написан профессионалом. Комментарии, пространства имён, nonce, экранирование — я уверен в безопасности.
Я научился работать с API нейросетей. Теперь я понимаю, как отправлять запросы, обрабатывать асинхронность, работать с Base64.
DeepSeek стал моим наставником. Он объяснял каждую строчку, предлагал альтернативы, не критиковал, а поддерживал.
Я не проверил плагин на 100%, но визуально и логически он готов. Ошибка — лишь повод углубиться в код и понять его ещё лучше.
Что дальше? Интрига!
В следующей статье я расскажу, как мы с DeepSeek искали и исправляли эту ошибку. Мы уже нащупали нить — возможно, проблема в передаче массива настроек или в неправильном вызове метода publish(). Будем использовать xdebug, логи, тестовые данные. Это будет настоящее детективное расследование.
Обещаю: в следующем посте разберём ошибку по косточкам, покажем код, который её устранил, и поделимся инсайтами. Если ты тоже боишься багов — эта история для тебя. Мы покажем, что даже сложная ошибка — это просто задача, которую можно решить, если подойти с умом.

Почему DeepSeek остаётся моим главным помощником
Пробовал другие нейросети — DeepSeek выигрывает:
Понимает контекст. Он не просто выдаёт код, а учитывает всю архитектуру WordPress.
Объясняет на русском — я могу уточнить любой момент.
Терпеливый и дружелюбный. Он не говорит «ты тупой», а подсказывает, как сделать лучше.
Скорость. За несколько часов мы сделали то, на что у новичка ушла бы неделя.
Призыв к действию
Если ты тоже мечтаешь о своём проекте, но боишься сложностей — начни. Возьми DeepSeek, сформулируй задачу, и двигайся маленькими шагами. Ошибки неизбежны, но они — часть обучения. Не бойся их, а изучай.
Подписывайся на мой блог, чтобы не пропустить следующую статью о борьбе с багом. Вместе мы разберёмся!
Контакты

Я всегда открыт к общению. Если хочешь спросить о плагине, ошибке или просто поболтать об IT — пиши.
📧 Email: milyutinkv@gmail.com
🌐 Сайт: milyutin-codes.ru
💬 Группа ВК: vk.ru/milyutin_codes
Подписывайся, задавай вопросы, делись идеями. Мы вместе делаем этот путь.
До встречи в следующей статье!
Я уже готовлю материал о том, как отлаживал плагин, какие инструменты использовал и как в итоге победил ошибку. Это будет честный разбор с кодом и эмоциями.
А пока — если у тебя есть предположения, где может быть баг, пиши в комментарии! Мне интересно твоё мнение.
Константин Милютин
Автор блога «Милютин Код»
Продолжение следует…

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