Как я написал свой первый плагин для WordPress и что из этого вышло
Зачем писать плагин, если всё уже есть
Мне нужно было добавить на сайт кнопку «Поделиться в Telegram» с счётчиком. Стандартные плагины либо уродливые, либо тяжёлые, либо показывают рекламу своей премиум-версии. Я решил написать свой — маленький и аккуратный.
До этого я никогда не писал плагины для WordPress. Думал, это сложно — нужно знать хуки, API, архитектуру. На деле оказалось проще, чем я ожидал.
Структура плагина
Плагин — это просто PHP-файл с комментарием в начале. Я создал папку telegram-share в wp-content/plugins/, внутри файл telegram-share.php:
В начале файла — стандартный заголовок: название плагина, описание, версия, автор. Без этого WordPress не увидит плагин.
Дальше — функция, которая выводит кнопку под каждым постом. Использовал хук the_content. Просто добавил HTML с иконкой Telegram и ссылкой вида https://t.me/share/url?url=…
Счётчик я сделал через custom field: когда кто-то нажимает кнопку, JS отправляет запрос на admin-ajax.php, и число увеличивается. Без базы данных, без лишних плагинов.
Что пошло не так
Первая версия выводила кнопку даже на страницах админки. Я забыл проверить is_single(). Исправил.
Счётчик сбрасывался при обновлении поста. Потому что я хранил его в post_meta, а при сохранении поста WP перезаписывал мета-поля. Пришлось добавить проверку: если поле уже существует — не трогать.
Кэширование. WP Super Cache кешировал страницы, и счётчик не обновлялся. Пришлось добавить исключение для кнопки через JavaScript, чтобы она грузилась асинхронно.
Итог
Плагин работает, кнопка висит под каждой статьёй. Счётчик тикает. Кода — 40 строк PHP и 20 строк JavaScript.
Теперь я не боюсь писать плагины. Для простых задач — это быстрее, чем искать подходящий плагин в репозитории и бороться с его настройками.