Написание своего плагина для WordPress. Часть 3. Работа с базой данных

При разработке плагинов для решения выполняемых ими задач может потребоваться работа с базой данных WordPress.

Рассмотрим механизм работы с базой данных этой CMS и привязку программной логики плагина к его пользовательскому интерфейсу.

Данные вопросы лучше всего рассматривать на конкретном примере. Возьмём в качестве примера плагин Total Old Revisions Cleaner. Постановка задачи при его создании и его пользовательский интерфейс уже были описаны в статье «Написание своего плагина для WordPress. Часть 2. Страница плагина в админпанели».

Теперь необходимо реализовать функционал по его работе с базой данных. То есть, по удалению не актуальных редакций.

Работа с базой данных в WordPress осуществляется при помощи класса wpdb. Это класс содержит широкий набор свойств и методов для работы с базой данных. Однако для того чтобы выполнить запрос на удаление потребуются только один метод query и свойства, которые представляют необходимые таблицы.

При составлении запроса работающего с таблицами самого WordPress настоятельно рекомендуется вместо имён таблиц использовать соответствующие свойства класса wpdb. Так как это решает проблему с префиксами имён и тем самым обеспечивает работоспособность в случае, когда префикс отличается от стандартного «wp_».

Чтобы удалить неактуальные редакции требуется выполнить следующий запрос.

Для этого обратимся к объекту класса wpdb в его метод query строку с этим запросом.

Работа плагина Total Old Revisions Cleaner предполагает что редакции будут удаляться только если установлен флажок «Удалить все старые редакции записей и страниц». Поэтому в функцию, которая будет выполнять удаление нужно включить соответствующую проверку.

Вызов этой функции сделаем сразу же после её описания.

На этом работа с базой данных завершена и необходимо связать программную логику плагина с его интерфейсом пользователя в админ панели.

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

После этого плагин сможет полностью выполнять свои функции.

Ниже представлен скриншот записи до удаления редакций.

До удаления редакций

Далее скриншот записи после удаления редакций.

После удаления редакций

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *