Intereting Posts
Ajax-вызов из single.php в файл плагина в бэкэнд отключить WordPress 404 для одной конкретной страницы / папки для получения фактических ошибок php Как отобразить пользовательское поле из пользовательской таксономии в файле single.php? Как создать страницу плагина с XML? Добавление ссылки «Показать меньше / больше» на «Пользовательская почта» Не удается получить доступ к массиву PHP внутри локализации скриптов из javascript извлекать значения мета ключевых значений всех сообщений из текущей категории Изменение размеров изображения для темы для мобильных устройств Отображать на домашней странице различный контент в зависимости от типа сообщения Для каких запросов условные теги информативны? Я хочу ограничить зарегистрированного пользователя до 1 комментария за сообщение в WordPress Как добавить несколько изображений на страницу Нужно ли мне переустанавливать цикл в этом коде? Добавить внешнюю ссылку в меню администратора в бэкэнд Как создавать коллекции, которые редактируются администратором?

Регистрация методов класса как обратных вызовов

Я не уверен, правильно ли я это сделал.

Как я понимаю:

если у меня есть класс foo и панель статических методов, я могу зарегистрировать это как обратный вызов, передав массив array("foo","bar") качестве имени функции.

Если у меня есть экземпляр класса в $ foo и вы хотите вызвать панель методов, я передаю массив array($foo,'bar') .

Если мне нужно зарегистрировать действие внутри самого класса, оно будет работать с array($this,'bar') ?

Solutions Collecting From Web of "Регистрация методов класса как обратных вызовов"

Если мне нужно зарегистрировать действие внутри самого класса, оно будет работать с array($this, 'bar') ?

Да, это работает. $this Docs ссылается на конкретный экземпляр, необходимый для обратного вызова . Это похоже на пример $foo вы даете. Это просто, что $this бит более особенный, но он представляет собой в основном то же самое и работает безупречно с обратными вызовами в PHP.

Дополнительно:

если у меня есть класс foo и панель статических методов, я могу зарегистрировать это как обратный вызов, передав массив array("foo","bar") качестве имени функции.

Да, вы можете сделать это, для статической функции вы можете записать ее как строку вместо массива: foo::bar , см. « Обратные вызовы» . Может быть удобно.

Для статических методов вы также можете сделать это:

 ['foo','bar'] 

когда следующее дает Undefined class constant 'bar' :

 foo::bar 

пример – при указании $ control_callback для wp_add_dashboard_widget