wordpress: add_action: почему вторым параметром является массив вместо имени функции - PullRequest
9 голосов
/ 01 июня 2011

Я пытаюсь создать плагин для WordPress, я нашел один плагин, который использует концепции упс, мой вопрос, почему второй параметр в функции add_action это массив вместо имени функции

add_action ('admin_menu', массив (& $ this, 'My_menu'));

my_menu - функция того же класса, пожалуйста, помогите мне

Спасибо

Ответы [ 2 ]

12 голосов
/ 01 июня 2011

Поскольку вторым аргументом должен быть обратный вызов .(и add_action внутренне использует call_user_func_array).

Для функций мы можем просто передать его имя в виде строки, но мы не можем сделать это с помощью методов объекта, не так ли?1009 *

Итак, массив передается с 2 элементами: сначала объектом, а затем вызываемым методом:', PHP4 дни уже прошли.

0 голосов
/ 31 октября 2015

@ Томас Джон, вы правы насчет второго аргумента в add_action также в WordPress Org, не упомянув ничего об этом, так что теперь, дайте мне знать, мы можем передать массив как массив второго аргумента ($ this, 'method'). 1001 *

Описание: когда объект создает класс, конструктор автоматически вызывает его, и ваше действие выполняется.

ПОЧЕМУ ЭТО ТРЕБУЕТ в WordPress как создать или инициализировать класс в методе add_action в краткой add_action со ссылкой на проверку класса ниже пример

class Myclass{
 public function __construct() {


add_action( 'plugins_loaded', array( $this, 'load_plugin_textdomain' ) );

}
}

Ссылка на класс с помощью add_action ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...