Шаблон
Создаем шаблон для будущего плагина на странице - https://wppb.me/
Этот шаблон копируем в папку плагинов wordpress.
Файловая структура
/my-plugin-name
/admin
class-wp-clear-admin.php
index.php
/css
wp-clear-admin.css
/js
wp-clear-admin.js
/includes
class-wp-clear.php
class-wp-clear-activator.php
class-wp-clear-deactivator.php
class-wp-clear-i18n.php
class-wp-clear-loader.php
index.php
/languages
my-plugin.pot
/public
/css
my-plugin-public.css
/js
my-plugin-public.js
/partials
my-plugin-public-display.php
class-my-plugin-public.php
index.php
index.php
LICENSE.txt
my-plugin.php
README.txt
uninstall.php
Папка 'admin'
В папке admin располагается весь код административной части, включая папки CSS, JS и других компонентов.
css/my-plugin-admin.css
- Файл для стилей страницы настроек плагина.
js/my-plugin-admin.js
- Файл для js страницы настроек плагина.
class-my-plugin-admin.php
- Этот файл содержит класс для создания административной части.
my-plugin-admin-display.php
- Файл содержит HTML код страницы настроек плагина.
Папка 'includes'
class-my-plugin.php
- Основной файл с классом для работы плагина, куда добавляются все действия и фильтры.
class-my-plugin-activator.php
- Файл содержит класс, необходимый для запуска во время активации плагина.
class-my-plugin-desactivator.php
- Файл содержит класс для деактивации плагина.
class-my-plugin-i18n.php
- Файл интернационализации.
class-my-plugin-loader.php
- Файл загрузчика, который регистрирует все события, фильтры и хуки.
Папка 'languages'
my-plugin.pot
- Файл локализации по умолчанию пуст.
Папка 'public'
css/my-plugin-admin.css
- Файл для стилей публичной части страницы плагина.
js/my-plugin-admin.js
- Файл для js публичной части страницы настроек плагина.
/partials/my-plugin-public-display.php
- Файл содержит HTML код страницы если плагин внедряет в шаблон сайта какие либо данные.
class-my-plugin-public.php
- Файл содержит класс для публичной части плагина. В методах класса добавляются события и фильтры, необходимые для реализации функциональности плагина.
Дополнительные файлы
Список и краткое описание файлов расположенных в корневой папке плагина:
LICENCE.txt
- Файл лицензии GPL-2.
README.txt
- Файл описания плагина и его установки.
uninstall.php
- Файл удаления плагина из WordPress.
my-plugin.php
- Файл начальной загрузки плагина. Тут расположена информация о плагине. Версия, автор и другие данные
Описание классов
Название классов может быть произвольным. Для понимания выбран класс my-plugin
/my-plugin-name
/admin
class-wp-clear-admin.php - {
Здеь подключаем меню и прочий доступ к страницам в административной части wordpress
1. Подключаем файлы стилей и js для административной страницы
2. Описываем логику и выводим административную страницу
}
/includes
class-wp-clear.php - {
Основной класс плагина
1. Объявляем все переменные и функции.
2. Вызываем функции для подключения всех зависимостей (loader, activator,
deactivator, i18n)
3. Объявляем класс для перевода (i18n.php) и через loader регистрируем событие
4. Объявляем класс административной части (admin.php)
и через loader регистрируем хуки и события
5. Объявляем класс пользовательской части (public.php)
и через loader регистрируем хуки и события
}
class-wp-clear-activator.php - {
Можно использовать в качестве объявления БД и записи
}
class-wp-clear-deactivator.php
class-wp-clear-i18n.php
class-wp-clear-loader.php - {
Класс для удобного (быстрого) объявления Хуков и Событий.
}
/languages
my-plugin.pot - Файл перевода
/public
/partials
my-plugin-public-display.php - Публичная страница
class-my-plugin-public.php - {
1. Подключаем файлы стилей и js для публичной страницы
2. Описываем логику и выводим публичну страницу
my-plugin.php - {
0. Вносим описание плагина
1. Подключаем классы активации\деактивации, регистриреум их через хуки
2. подключаем основной класс плагина и запускаем на выполнение
}
uninstall.php - {
1. Здесь описываем всю логику при удалении плагина
}
my-plugin
"Главный" класс для работы с будущим плагином. В нем обрабатываются общие для административной и публичной части операции.
loader - для определения и доступа к классу
loader
plugin_name - название плагина
version - версия плагина
my-plugin_loader
Класс для быстрого объявления и задействования действий и фильтров
actions - массив действий
filters - массив фильтров
my-plugin-i18n
Класс для поддержки переводов
load_plugin_textdomain - Загружает файл с переводами
my-plugin-activator
Класс для активации плагина
activate - выполняется при активации плагина
my-plugin-deactivator
Класс для деактивации плагина
deactivate - выполняется при деактивации плагина
my-plugin-admin
Класс административной части. Здесь может быть добавлено объявление меню и прочего.
enqueue_styles - подключение уникальных стилей административной страницы
enqueue_scripts - подключение уникальных скриптов js административной страницы
my-plugin-public
Класс публичной части.
enqueue_styles - подключение уникальных стилей пользовательской страницы
enqueue_scripts - подключение уникальных скриптов js пользовательской страницы
Last updated
Was this helpful?