Если ты читал мои предыдущие статьи, то знаешь: я прошёл долгий путь от PHP-плагина к Python-скрипту, от бесконечных ошибок к работающей системе автопостинга новостей. Я переосмыслил стратегию блога, отказался от массовой генерации контента и решил создавать полезные инструменты.
Мой плагин «Milyutin Code Article Reposter for VK» официально опубликован в репозитории WordPress.org и доступен для скачивания:
🔗 wordpress.org/plugins/milyutin-code-article-reposter-for-vk
Это был долгий и сложный путь. Плагин переделывался с нуля несколько раз. Были моменты, когда я хотел всё бросить и думал, что я себя переоценил в умении общения с ИИ. Но сегодня я хочу рассказать эту историю — от идеи до попадания в самое большое хранилище плагинов в мире. Сквозь боль, страдания и бесконечные правки.
Часть 1. Как начинались боль и страдания
Когда я только задумал этот плагин, идея была простая: автоматически публиковать новые статьи из WordPress-блога в группу ВКонтакте. Чтобы не копировать текст вручную каждый раз. Чтобы подписчики видели анонс с картинкой и ссылкой.
Я написал первую версию на PHP за пару вечеров. Она работала. Плагин брал статью, отправлял в YandexGPT для генерации краткого обзора, получал ответ и публиковал в ВК. Выглядит вроде всё просто.
Но я решил пойти дальше. Я захотел выложить плагин в официальный репозиторий WordPress.org, чтобы любой владелец сайта мог установить его в один клик.
И тут начались страдания и боль…
Часть 2. Первая попытка: отказ и переименование
Я загрузил плагин на review. Через несколько дней пришло письмо от команды WordPress.org.
Плагин назывался «VK AI Reposter». И это стало первой проблемой.
«VK» — это зарегистрированный товарный знак третьей стороны, и его использование в начале названия может подразумевать официальную принадлежность к VK.
Мне предложили переименовать плагин в «Milyutin Code Article Reposter for VK» — с моим именем в начале, чтобы чётко обозначить, что это неофициальный инструмент.
Я согласился. Изменил название плагина на milyutin-code-article-reposter-for-vk.
Но это было только начало.
Часть 3. Технические требования: что пришлось переделывать
Репозиторий WordPress.org — это не просто «залей и готово». Там строгие правила. И мой плагин их нарушал.
Вот список того, что пришлось исправить:
Подключение скриптов и стилей
Вместо прямого вывода <script> и <style> в коде, нужно использовать wp_enqueue_script() и wp_enqueue_style(). Это стандарт WordPress для производительности и совместимости.
Санитизация и экранирование
Все данные, приходящие из $_GET, $_POST, $_REQUEST, нужно санитизировать. А все выходные данные — экранировать.
Например, вместо _e('текст', 'domain') нужно использовать esc_html_e('текст', 'domain').
Префиксы для всего
Функции, классы, глобальные переменные, опции — всё должно иметь уникальный префикс, чтобы не конфликтовать с другими плагинами.
Документирование внешних сервисов
Плагин использует API ВКонтакте и YandexGPT. Это нужно чётко описать в readme.txt: какие данные отправляются, куда, зачем, и ссылки на политику конфиденциальности.
Логирование в правильное место
Я писал логи в папку плагина. Это запрещено. Логи нужно хранить в базе данных или в папке wp-content/uploads с защитой от прямого доступа.
Не менять глобальные настройки PHP
set_time_limit(120) на каждом запросе — плохая практика. Нужно ограничивать только те функции, где это действительно необходимо.
Не использовать cURL напрямую
Вместо curl_exec() нужно использовать WordPress HTTP API: wp_remote_get(), wp_remote_post().
Интернационализация
Все строки должны быть обёрнуты в функции перевода, но без переменных в качестве текста или домена.
Часть 4. Четыре раунда ревью
Плагин проходил проверку четыре раза. Каждый раз находились новые ошибки. И с каждым разом надежда на то, что мой плагин опубликуют, угасала.
-
Раунд 1: проблемы с названием, документацией, скриптами, экранированием.
-
Раунд 2: битые ссылки на политику конфиденциальности Yandex.
-
Раунд 3: использование cURL вместо HTTP API и проблемы с экранированием nonce.
-
Раунд 4: финальные правки.
И только после четвёртого раунда пришло письмо:
Congratulations! The plugin was approved.
Часть 5. Загрузка в репозиторий через SVN
После одобрения нужно было загрузить код через SVN.
Я очистил локальную папку, сделал svn checkout, скопировал файлы в trunk, создал тег tags/1.0.0 и выполнил svn commit.
Через несколько минут плагин появился в репозитории.
Но это получилось со второго раза)
Часть 6. Что умеет плагин сейчас
Плагин «Milyutin Code Article Reposter for VK» автоматически публикует новые статьи из вашего блога в группу ВКонтакте.
Возможности:
-
Автоматическая публикация — срабатывает при публикации поста.
-
Два источника для краткого анонса:
-
YandexGPT — генерирует краткий обзор с помощью нейросети (требуется API-ключ и это платно).
-
Первый абзац — берёт первый абзац статьи. Бесплатно и просто.
-
-
Загрузка изображений — автоматически находит и загружает обложку, изображение из Gutenberg-блока или первую картинку из контента.
-
Ручная публикация — в редакторе каждого поста есть кнопка «Опубликовать сейчас».
-
Логирование — все действия записываются в отдельный лог-файл, доступный в админке.
Внешние сервисы:
-
VKontakte API — для публикации постов, загрузки фото и получения информации о группе.
-
Yandex GPT API — для генерации анонсов (опционально и платно).
Плагин переведён на Английский и Русский языки.
Часть 7. Что я понял за это время
1. WordPress.org — это серьёзно.
Там строгие правила. Но они существуют не для того, чтобы усложнить жизнь, а чтобы обеспечить безопасность и совместимость для миллионов пользователей.
2. Каждая ошибка — это урок.
Я никогда не думал о санитизации, экранировании и префиксах так глубоко, как за эти недели. Теперь я понимаю, почему это важно. И главное, теперь я научился писать промпты для ИИ с чётким техническим заданием, а не как писал, когда только начал создавать плагин.
3. Не сдаваться.
Были моменты, когда я хотел всё бросить. Но я продолжал. И это окупилось.
4. Сообщество WordPress — это круто.
Команда ревьюеров помогла мне сделать плагин лучше. Да, процесс был долгим и мучительным, но результат того стоил.
Часть 8. Что дальше?
Плагин уже доступен для скачивания. В планах:
-
Поддержка других социальных сетей (Telegram, ОК, Дзен).
-
Улучшение генерации анонсов.
-
Добавление пагинации и RSS-ленты для новостей.
-
Продолжение изучения SEO без плагинов (в ближайшее время проверю код на тестовом сайте и сразу же перенесу его на этот сайт).
Призыв к действию
Если ты тоже разрабатываешь плагин для WordPress — не бойся трудностей. Да, процесс публикации в официальный репозиторий может быть долгим и болезненным. Но это стоит того.
🔗 Скачай плагин: wordpress.org/plugins/milyutin-code-article-reposter-for-vk
Установи, настрой за 5 минут и забудь о ручном копировании постов в ВК.

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