База плагина должна быть отдельной зоной ответственности. Не складывайте всё в wp_options: там уместны настройки, но не журналы, заказы, очереди и сущности с частыми выборками.
Мини-чек-лист перед созданием таблицы:
— имя через $wpdb->prefix и понятный суффикс;
— первичный ключ, индексы под реальные WHERE/JOIN/ORDER BY;
— поля дат в едином формате, лучше UTC;
— никаких сериализованных массивов для данных, по которым нужен поиск;
— явная схема установки и обновления через dbDelta().
Частая ошибка — проектировать таблицу «на один экран админки». Потом появляются фильтры, экспорт, cron-обработчики, и запросы начинают сканировать всё подряд. Сначала опишите 5–7 типовых запросов, потом выбирайте колонки и индексы.
Не забывайте про удаление: при деактивации данные обычно оставляют, при uninstall — удаляют только если пользователь явно согласен. Это снижает риск потери данных и упрощает поддержку.
Хорошая схема БД — это не «много таблиц», а предсказуемые запросы, понятные миграции и отсутствие сюрпризов при росте данных.
Создание плагинов для WordPress
@plugin_development_pro_ww
Как проектировать таблицы плагина, чтобы не чинить базу после релиза
Этот пост опубликован в Telegram-канале Создание плагинов для WordPress. Подписаться можно по ссылке: @plugin_development_pro_ww.