Я пытаюсь создать крючок в одном плагине Wordpress, который может быть использован другими плагинами. Во-первых, возможно ли это? Я также отправляю несколько дополнительных аргументов, так что это может быть 2 вопроса в одном, поскольку у меня возникли проблемы с поиском окончательной информации о том, как это сделать.Пользовательские перехватчики в WordPress через плагины
Вот что я пытался до сих пор:
В плагин, который создает крюк (назовем его Plugin 1) Я добавил:
do_action('plugin1_hook', $customArg1, $customArg2, $customArg3);
в точке, что я хочу крюк стрелять. Затем, в другой плагин (плагин 2), я добавил:
add_action('plugin1_hook', 'my_function');
и
function my_function($customArg1, $customArg2, $customArg3) { //my code }
Это не кажется, не стреляя функцию, однако. Мой refence для этого был крючок comment_post Wordpress, который определяется Wordpress как:
do_action('comment_post', $comment_ID, $commentdata['comment_approved']);
и я использую как:
add_action('comment_post', 'my_comment');
function my_comment($comment_id) { //my code }
выше фрагмент кода работает правильно.
Что я делаю, это использовать плагин для голосования комментариев, и крючок не срабатывает, пока кто-то не проголосует за комментарий. Мне все еще интересно, может ли порядок повлиять на вещи, хотя я предполагаю, что add_action может быть вызван в любое время, хотя и будет работать до тех пор, пока do_action срабатывает. –
Это в значительной степени это Райан :) Решение Джона должно работать, потому что он ожидает, что все плагины будут загружены до запуска 'do_action'. – TheDeadMedic