====== Хуки и фильтры ====== ===== Фильтры ядра ===== add_filter('filter_name','function_to_call'); add_filter('имя_фильтра','имя_привязываемой_функции'); * **content** – позволяет изменять содержание переменной //$content//. Привязываемая функция, которой передается переменная //$content//, должна возвращать результат в систему. * **menuitems** - позволяет изменять или фильтровать главное меню сайта, формируемое тэгом шаблона //get_navigation//. Привязываемая функция, которой передается переменная //$menu//, должна возвращать результат в систему. ===== Хуки ядра ===== add_action('hook_name','function_to_call',array(arguments)); add_action('наименование_хука','имя_привязываемая_функция',array(аргументы_привязываемой_функции)); Последний аргумент в //add_action// обязателен, если привязываемая функция принимает параметры. Ознакомьтесь со списком хуков (//hook_name// или //наименование_хука//), к которым возможна привязка пользовательских функций ('//function_to_call//'). **Фронтенд-хуки** * **theme-header** - вызывается в секции //// темы. Требует обязательного наличия тэга //get_header()// в шаблоне * **theme-footer** - вызывается в секции footer темы. Требует обязательного наличия тэга //get_footer()// в шаблоне * **content-top** - вызывается перед формированием секции контента в теме * **content-bottom** - вызывается после формирования секции контента в теме * **index-pretemplate** - вызывается перед началом обработки файлов шаблона * **index-posttemplate** - вызывается после окончания обработки файлов шаблона * **error-404** - срабатывает при отсутствии запрошенной страницы, перед формированием страницы 404. **Бэкенд-хуки** * **header** - вызывается в секции //head// обрабатываемой страницы * **header-body** - вызывается в секции //body// страницы перед ее отдачей * **admin-pre-header** - вызывается перед загрузкой файла шаблона административной панели //header.php// (3.1+) * **footer** - вызывается при формировании секции footer формируемой страницы * **common** - срабатывает сразу после того, как функции плагина включены в файл //common.php// (3.1+) * **logout** - вызывается при выходе пользователя из административной панели * **index-login** - вызывается перед отображением формы логина * **login-reqs** - вызывается в логин-сайдбаре, с версии 3.2 логин-сайдбар отсутствует,хук вызывается в форме для восстановления забытого пароля * **resetpw-success** - срабатывает при успешной смене пароля * **resetpw-error** - срабатывает при возникновении ошибки при смене пароля * **settings-user** - вызывается перед созданием файла настроек пользователя * **settings-website** - вызывается перед созданием страницы **Настройки сайта** * **settings-cpsettings** - вызывается перед созданием файла настроек //cp_settings// * **settings-website-extras** - вызывается на странице **Настройки** перед нажатием кнопки «**Сохранить изменения**» в секции настроек сайта * **settings-user-extras** - вызывается на странице **Настройки** до нажатия кнопки «**Сохранить изменения**» в секции Профиль пользователя * **sitemap-additem** - позволяет внести новую запись в файл //sitemap.xml// * **sitemap-save** - вызывается перед сохранением файла //sitemap.xml// * **theme-extras** - срабатывает после показа скриншота темы * **theme-edit-extras** - срабатывает при редактировании темы перед нажатием кнопки **Сохранить** * **welcome-link** - разрешает размещение дополнительны ссылок на стартовой странице административной панели (Welcome page) * **welcome-doc-link** - разрешает добавление дополнительных ссылок на документацию на стартовой странице административной панели (Welcome page) * **healthcheck-extras** - разрешает добавление дополнительных параметров при проверке работоспособности сайта (Health-check) * **support-extras** - разрешает добавлять дополнительную информацию на странице **Поддержка** * **support-save** - срабатывает перед созданием файла //cp_settings.xml//, позволяет сохранять дополнительную информацию со страницы **Поддержка** * **plugin-hook** - срабатывает перед выводом на экран страницы/вкладки **Плагины** * **archive-backup** - срабатывает после создания резервной копии сайта на вкладке **Бэкап** * **component-save** - срабатывает перед сохранением компонента * **component-extras** - срабатывает при создании формы для ввода нового компонента, позволяет добавлять к форме дополнительные элементы * **logfile_delete** - вызывается при удалении лог-файла * **page-delete** - вызывается при удалении страницы * **pagecache-aftersave** - срабатывает после успешного сохранения **data/other/pages.xml** (3.3+) * **changedata-save** - вызывается перед сохранением страницы * **changedata-aftersave** - вызывается после сохранения страницы (3.1+) * **caching-save** - срабатывает перед сохранением файла //pages.xml// в папке //data/other// при кэшировании (3.1+) * **edit-extras** - вызывается во время редактирования страниц в контейнере (div) //toggle// в файле //edit.php// * **edit-content** - создает дополнительные поля/данные после текстового поля в файле //edit.php// * **file-uploaded** - вызывается после успешной загрузки файла * **files-extras** - вызывается после окончания списка файлов * **successful-login-start** – комментарии в англоязычной ВИКИ отсутствуют * **successful-login-end** - комментарии в англоязычной ВИКИ отсутствуют Следующие экшн-хуки (actions) позволяют настраивать меню административной панели. Более подробно в ними можно ознакомиться в секции ВИКИ [[ru:plugins:tabs_menus|Вкладки и боковые меню]]. * **backups-sidebar**, **files-sidebar**, **pages-sidebar**, **plugins-sidebar**, **settings-sidebar**, **support-sidebar**, **theme-sidebar** – используются для добавления дополнительных пунктов в боковое меню сайдбара административной панели. * **nav-tab** – позволяет добавлять новую вкладку в административную панель. ====== Ссылки ====== На главную [[ru:|Содержание]] ===== Страницы этой секции ===== === Разработка плагинов === *[[ru:plugins:creation|Создание плагинов ]] *[[ru:plugins:extend_api|Работа с Extend API ]] *[[ru:plugins:tabs_menus|Вкладки и боковые меню]] *[[ru:plugins:tips|Советы и рекомендации]] *[[ru:plugins:update_notifications|Взаимодействие плагинов и секции Extend сайта get-simple.info]]