включает/plugin.php | Ресурсы для разработчиков WordPress
Фильтровать по типу: Любой типКлассыФункцииХукиМетодыФункция: Получает количество применений фильтра во время текущего запроса.
Источник: wp-includes/plugin.php:411
Используется 0 функциями | Использует 0 функций
Функция: Запускает функции, прикрепленные к устаревшему хуку фильтра.
Источник: wp-includes/plugin.php:711
Используется 24 функциями | Использует 3 функции
Функция: Запускает функции, прикрепленные к устаревшему хуку действия.
Источник: wp-includes/plugin.php:738
Используется 8 функциями | Использует 3 функции
Функция: Установить хук активации для плагина.
Источник: wp-includes/plugin.php:868
Используется 0 функциями | Использует 2 функции
Функция: Устанавливает хук деактивации для плагина.
Источник: wp-includes/plugin.php:891
Используется 0 функциями | Использует 2 функции
Источник: wp-includes/plugin.php:922
Используется 0 функциями | Использует 5 функций
Функция: Вызывает хук all, который будет обрабатывать подключенные к нему функции.
Источник: wp-includes/plugin.php:960
Используется 4 функциями | Использует 0 функций
Функция: Проверяет, было ли какое-либо действие зарегистрировано для хука.
Источник: wp-includes/plugin.php:588
Используется 13 функциями | Использует 1 функцию
Функция: Создает уникальный идентификатор для хранения и поиска.
Источник: wp-includes/plugin.php:999
Используется 3 функциями | Использует 0 функций
Функция: Удаляет функцию обратного вызова из хука действия.
Источник: wp-includes/plugin.php:612
Используется 21 функцией | Использует 1 функцию
Функция: Удаляет все функции обратного вызова из хука действия.
Источник: wp-includes/plugin. php:626
Используется 0 функциями | Использует 1 функцию
Функция: Получает базовое имя подключаемого модуля.
Источник: wp-includes/plugin.php:764
Используется 19 функциями | Использует 1 функцию
Функция: Зарегистрировать реальный путь плагина.
Источник: wp-includes/plugin.php:801
Используется 2 функциями | Использует 1 функцию
Функция: Получить путь к каталогу файловой системы (с косой чертой в конце) для переданного подключаемого модуля __FILE__.
Источник: wp-includes/plugin.php:834
Используется 0 функциями | Использует 1 функцию
Функция: Получить URL-адрес каталога (с косой чертой в конце) для переданного подключаемого модуля __FILE__.
Источник: wp-includes/plugin.php:846
Используется 0 функциями | Использует 2 функции
Функция:
Источник: wp-includes/plugin. php:121
Используется 108 функциями | Использует 0 функций
Функция: Вызывает функции обратного вызова, добавленные в хук действия.
Источник: wp-includes/plugin.php:482
Используется 410 функциями | Использует 1 функцию
Функция: Проверяет, зарегистрирован ли какой-либо фильтр для хука.
Источник: wp-includes/plugin.php:281
Используется 22 функциями | Использует 0 функций
Функция: Получает количество запусков действия во время текущего запроса.
Источник: wp-includes/plugin.php:675
Используется 41 функцией | Использует 0 функций
Функция: Вызывает функции обратного вызова, добавленные в ловушку фильтра.
Источник: wp-includes/plugin.php:173
Используется 1287 функциями | Использует 1 функцию
Функция: Вызывает функции обратного вызова, которые были добавлены в хук действия, указывая аргументы в массиве.
Источник: wp-includes/plugin. php:537
Используется 32 функциями | Использует 1 функцию
Функция: Вызывает функции обратного вызова, которые были добавлены в обработчик фильтра, указывая аргументы в массиве.
Источник: wp-includes/plugin.php:228
Используется 12 функциями | Использует 1 функцию
Функция: Удаляет функцию обратного вызова из обработчика фильтра.
Источник: wp-includes/plugin.php:313
Используется 45 функциями | Использует 0 функций
Функция: Удаляет все функции обратного вызова из обработчика фильтра.
Источник: wp-includes/plugin.php:341
Используется 3 функциями | Использует 0 функций
Функция: Извлекает имя текущего фильтрующего хука.
Источник: wp-includes/plugin.php:364
Используется 14 функциями | Использует 0 функций
Функция: Извлекает имя текущего хука действия.
Источник: wp-includes/plugin.php:637
Используется 4 функциями | Использует 1 функцию
Функция: Возвращает информацию о том, обрабатывается ли в данный момент ловушка фильтра.
Источник: wp-includes/plugin.php:391
Используется 2 функциями | Использует 0 функций
Функция: Возвращает информацию о том, обрабатывается ли в данный момент хук действия.
Источник: wp-includes/plugin.php:661
Используется 4 функциями | Использует 1 функцию
Функция: Добавляет функцию обратного вызова к хуку действия.
Источник: wp-includes/plugin.php:441
Используется 80 функциями | Использует 1 функцию
Использование анонимных функций для фильтров и действий WordPress
Эта статья предоставляется бесплатно. Узнайте, как получить полный доступ к премиальному контенту, включая статьи с инструкциями и форумы поддержки, а также приоритетную поддержку по электронной почте и эксклюзивные расширения плагинов для участников.
Чем больше настроек вы делаете при создании сайта WordPress, тем больше вы обнаружите, что у вас есть много функций, привязанных к действиям и фильтрам. Иногда эти функции могут быть довольно простыми, возвращая всего одну строку текста или заменяя одно слово. Есть ли простой способ сделать это более компактным?
Есть! Вот как:
Вход в анонимную функцию
PHP позволяет использовать функции без имен, известные как анонимные функции. Они также называются замыканиями и часто используются в качестве процедур обратного вызова. Для наших целей это могут быть очень полезные инструменты при настройке настроек для вашей установки WordPress.
Немного предыстории
Если вы проделали большую работу по настройке установки WordPress, возможно, вы уже знакомы с тем, как работают фильтры и хуки действий. Но на всякий случай вот простой обзор.
Хуки позволяют нам «привязывать» функции к определенным местам выполнения WordPress (или выполнения темы или плагина). Это могут быть «действия», которые делают что-то, или «фильтры», которые что-то изменяют .
Хотя действия и фильтры служат немного разным целям, их использование практически одинаково. Чтобы «прицепить» что-то к одному из этих элементов, используйте функцию «add_action» или «add_filter» с аргументами для имени хука и функции, которую вы к нему подключаете. (Есть и другие необязательные параметры, но они здесь не обсуждаются.) Это выглядит примерно так:
В этом примере у вас есть соответствующая функция:
Как использовать анонимную функцию
Функция должна иметь уникальное имя, иначе она вызовет ошибку сценария. Когда у вас есть тысячи функций в WordPress и различных плагинах, а также все, что вы добавляете с помощью пользовательских функций в functions.php, избежать конфликтов имен может быть проблемой. Использование анонимной функции позволяет избежать этой проблемы и поместить функцию прямо в вызов add_action или add_filter вместо имени функции. Это делает вещи красивой, плотной упаковкой.
Вот простой пример. Обычным способом мы подключим фильтр excerpt_length к пользовательской функции, чтобы вернуть пользовательское значение длины выдержки:
Вот тот же процесс, но вместо этого используется анонимная функция:
Посмотрите внимательно на приведенное выше — вы заметили, имени функции в вызове add_filter(), мы вставили всю функцию без имени?
Это хорошо упаковывает вещи.
Теперь вам не нужно беспокоиться о том, что другая функция excerpt_length_example() создаст конфликт пространства имен. Это также упрощает задачу, потому что все это упаковано вместе.
Когда НЕ следует использовать анонимные функции
Это отличный инструмент для использования в соответствующей среде. Когда вам НЕ следует использовать анонимную функцию?
Впервые анонимные функции были представлены в PHP 5.3, и их поддержка включена во все последующие версии. Но знаете что? Минимальная версия PHP для WordPress ВСЕ ЕЩЕ требует только PHP 5.2.4. Теперь PHP 5.2 больше не поддерживается проектом PHP, и любой хост, на котором он работает, требует проблем с безопасностью, но имейте в виду, что он может быть там. И ваши анонимные функции для этого не годятся.
Теперь предположим, что вы умны и запускаете текущий PHP. Но вы публикуете пример или что-то еще где-то в Интернете, чтобы кто-то другой мог его прочитать. Не думайте, что (1) они знают, что такое анонимные функции и как и когда их использовать, и (2) что они достаточно умны, чтобы поддерживать PHP в актуальном состоянии, как и вы.