Где я могу найти список всех хуков WordPress и переопределяемых функций (подключаемых, скриптовых и т. д.)?
Изменить: плагин указан здесь.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Это мой сайт, на который я ищу информацию о хуках… База данных хуков WordPress
WordPress наконец-то задокументировал все свои хуки. 😀 Вы можете просматривать и искать там.
Я бы… это одна из тех вещей, которые вы можете использовать только один или два раза, но когда вы их используете, вы благодарите за это звезды 🙂
Майк, это очень круто! Но что бы вы порекомендовали для понимания того, что делает каждый фильтр/действие? есть ли файл, в котором все они перечислены вместе с их «активностью»? Спасибо!
@Amit — Да, это сложный вопрос. 🙂 Спасибо за вопрос. К сожалению, я не вижу способа автоматизировать это, как я сделал для перечисления хуков выше, поэтому у меня нет идеального ответа для вас. В идеале для каждого хука кто-то должен написать отличный пост в блоге (или задать здесь вопрос, на который был получен отличный ответ), а затем «погуглить» будет вашим ответом. Как есть, я использую IDE для отладки (PhpStorm+XDEBUG, 49 долларов США до сентября 2010 года), устанавливаю точки останова и просто трассирую исполняемый код. Однако может быть лучший способ, и если кто-то еще подумал об этом, пожалуйста, сообщите нам!
@Mike: Быстрый вопрос, почему вы храните это в базе данных, а не в памяти или во временном потоке?
@hakre — Хороший вопрос! Когда я начал писать плагин, я предполагал, что он будет собирать информацию о хуках при загрузке нескольких страниц. После того, как я закончил его реализацию, я понял, что было бы полезнее делать это только для каждой страницы загрузки, но у меня уже была запись в таблицу базы данных. Я подумывал изменить его, но беспокоился, что это может занять слишком много памяти (возможно, это несерьезно, но в любом случае…). Так что да, память будет альтернативным и, вероятно, предпочтительным способом сделать это. Хотите сделать обновление для меня? WA — это позитивное участие! 🙂
Также есть надстройка «Действия панели отладки» и «Фильтры» и «Журнал крючков панели отладки».
База данных Адама Брауна — это не просто комбинация этих двух страниц, в ней перечислены все действия и фильтры в WordPress. Или вы не это имели в виду.
@Arlen: Да, действительно, я переписал, чтобы было понятнее.
Это может быть некрасиво, но на самом деле это может быть самый быстрый и простой способ в некоторых сценариях (я часто использую «отладку printf» для исправления мелких ошибок в небольших проектах «Блокнот + командная строка» вместо использования целой IDE).
@Arlen: Как отмечает Кейт С. , список хуков Адама Брауна является де -факто ресурсом хуков для WordPress. Однако он не идеален:
Таким образом, хотя список Адама является отличным ресурсом, особенно для понимания того, когда исторически добавлялись хуки, он не так полезен, как если бы вы могли инструментировать хуки на любой странице вашего собственного сайта.
Я уже давно обдумывал эту идею, поэтому ваш вопрос побудил меня написать плагин под названием « Instrument Hooks for WordPress ». Вы можете найти полный исходный код под снимком экрана, а также можете скачать его здесь.
Итак, вот скриншот того, как выглядит инструментарий:
Вы запускаете инструментирование с помощью параметра URL
instrument=hooks
, т.е.:И, как и обещал, вот исходник (или скачать его здесь.):
Плагин
В Кодексе есть Справочник по действиям и Справочник по фильтрам. Адам Браун создал базу данных хуков, в которой есть все хуки в исходном коде, и добавляет документацию со страниц вики, информацию о версии и ссылки на исходный код. Вы можете улучшить его, написав документацию в Кодексе.
Конечно, некоторые хуки являются динамическими, в зависимости от других данных. Возьмем
wp_transition_post_status
функцию:Если вы зарегистрируете настраиваемый тип сообщения
event
и настраиваемый статус сообщенияcancelled
, у вас будетcancelled_event
хук действия.Хотя и примитивно, возможно, этот код плагина может помочь? Переключите «add_action» на «add_filter», если вместо этого вы хотите посмотреть на фильтры. Загрузите плагин, а затем обновите домашнюю страницу сайта. После загрузки его очень сложно деактивировать, поэтому просто переименуйте файл плагина в папке плагинов и снова обновите сайт — он деактивируется автоматически. Я использовал этот трюк много раз, чтобы устранить неполадки или найти место, куда я могу что-то вставить.
Я использую это, чтобы найти порядок хуков. Чтобы получить
filters
простое изменениеadd_action
наadd_filter
.Как предлагает @kaiser, не публикуйте только ссылки, которые я улучшаю. но здесь невозможно использовать весь код, поэтому я использую здесь несколько изображений, чтобы объяснить, как у него есть полный список хуков WordPress с описанием каждого. здесь вы можете найти хуки, классы, функции, плагины,
описать каждый
Вы можете просто использовать плагин монитора запросов: https://wordpress.org/plugins/query-monitor/