⚙️
Front-end patterns
  • Введение
  • Шаблоны
    • Эффекты CSS
      • Overlay
      • Анимация display:none
      • Текст
        • Фон текста градиент с анимацией
      • Элементы формы
        • Вертикальное выравнивание placeholder по вертикали
      • Ссылки
        • Градиент как основной цвет
        • Линия под ссылкой ездит слева направо при наведении
      • Скрывать блок .clipped
    • Модальное окно
      • Dialog
    • Элементы формы
      • Select
      • Radio
      • CheckBox
      • Ввод текста (input)
        • Телефон (tel)
        • Почта (email)
      • Кнопка
    • Вкладки/Списки
      • Вкладки или Табы (tabs)
      • Аккордеон (Accordion)
    • Навигация
      • Основная и дополнительная навигация на сайте
        • Анимирование основной навигации
      • Пропустить навигацию
      • Хлебные крошки (Breadcrumbs)
      • Кнопка основной навигации (Бургер)
    • Структуры
      • Контейнер
      • Столбцы
      • Прогресс
      • Горизонтальная прокрутка карточек
      • Цитата
    • Тэги (семантика)
      • Текст
      • Логика
    • Увеличить скорость загрузки страницы
    • Шрифты
  • JS
    • Прокрутка страницы
    • Анимация элементов
  • A11Y
    • Фокус с клавиатуры
    • No sort
  • WordPress
    • Решения и подсказки
    • Плагины
    • Натягиваем сайт
      • Пустая тема
      • Делаем главную (пустую) страницу
      • Подключаем стили и js
      • Заменяем содержимое файлов (header, footer, page)
    • Свой плагин
      • Шаблон
      • Административная часть
      • Пользовательская часть
      • Локализация плагина
  • Ghost
    • Создание своей темы
      • Фалы шаблона
        • Partials
          • footer.hbs
          • header.hbs
          • post_card.hbs
        • index.hbs
        • default.hbs
        • post.hbs
      • Переменные
      • Циклы, условия и функции
  • Visual Studio
  • Gulp
    • Deploy on GitHub
    • Плагин
    • Моя сборка
      • Изображения
  • Регулярные выражения
  • Алгоритмы
    • Поиск
    • Сортировка
    • Поиск в ширину (глубину)
    • Типы данных
  • Конструкторы сайтов
Powered by GitBook
On this page
  • Файловая структура
  • Папка 'admin'
  • Папка 'includes'
  • Папка 'languages'
  • Папка 'public'
  • Дополнительные файлы
  • Описание классов
  • my-plugin
  • my-plugin_loader
  • my-plugin-i18n
  • my-plugin-activator
  • my-plugin-deactivator
  • my-plugin-admin
  • my-plugin-public

Was this helpful?

  1. WordPress
  2. Свой плагин

Шаблон

PreviousСвой плагинNextАдминистративная часть

Last updated 3 years ago

Was this helpful?

Создаем шаблон для будущего плагина на странице -

Этот шаблон копируем в папку плагинов 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 - версия плагина

  • load_dependencies() - загружает исполнительные файлы дополнительных классов

  • set_locale - объявляет класс для работы с переводами

  • define_admin_hooks - объявляет хуки и действия для административной части

  • define_public_hooks - объявляет хуки и действия для пользовательской части

  • run - в данном случай вызывает функцию run класса loader

  • get_plugin_name - возвращает имя плагина (для вывода например)

  • get_loader -

  • get_version - возвращает версию плагина

my-plugin_loader

Класс для быстрого объявления и задействования действий и фильтров

  • actions - массив действий

  • filters - массив фильтров

  • add - для быстрого преобразования в массив входных данных

  • add_action - для заполнения массива "действий"

  • add_filter - для заполнения массива "фильтров"

  • run - объявление через add_action заранее добавленных фильтров и действий

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 пользовательской страницы

https://wppb.me/