Intereting Posts
Создание галереи изображений в wordpress Woocommerce – Показать текст на странице продукта на основе класса доставки Несколько имен поддоменов – одна установка WP (не Multisite) – указывает на страницы КАТЕГОРИИ Вставка содержимого в скрипт с расширенными настраиваемыми полями Как добавить текст в форму комментария #content textarea? Обновление WordPress 4.3.1 Друг хочет сделать комментарий к одной из моих статей, ее нужно записать в WordPress? Получить пользователей, только если указан Gravatar Показать изображение рядом с пост-тизерами в Genesis Framework? WP_Error с сообщением о проверке нескольких форм Пользовательский запрос с orderby meta_value настраиваемого поля Функция get_the_ID () не возвращает 404 и поисковые страницы Как подавить код статуса 404 на странице WordPress? Сортировка сообщения с использованием wp_update_post без обновления Как получить пользователей по пользовательским полям / по метаданным пользователя?

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

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

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

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

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

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

Если мне нужно зарегистрировать действие внутри самого класса, оно будет работать с 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