хорошо им учиться создавать плагин wordpress, я загрузил один и прочитал коды, и я увидел это, я предполагаю, что «foo» – это тег, в который он добавит действие.
но что делает массив () точно?
add_action('foo', array('foo1', 'foo2'));
я посмотрел на http://codex.wordpress.org/Function_Reference/add_action и нет четкого определения.
Правильно, первым аргументом является тег (к которому вы будете добавлять действие), а второй аргумент указывает функцию для вызова (т. Е. Ваш обратный вызов).
Второй аргумент принимает обратный вызов PHP и, таким образом, принимает несколько допустимых форм. Проверьте это для всех из них:
PHP-псевдонимы обратного вызова
Тип, показанный выше, относится к типу 2. Первый элемент массива указывает класс, а второй элемент указывает, какую функцию класса вы хотите вызвать.
Итак, в примере, который вы указали выше, что будет делать, так это то, что всякий раз, когда вызывается действие foo()
, оно в конечном итоге вызывает foo1->foo2()
.
Второй аргумент функции add_action
– это функция, вызываемая с помощью hook.
function hello_header() { echo "I'm in the header!"; } add_action('wp_head', 'hello_header');
Использование массива в качестве второго аргумента заключается в передаче метода объектов, а не только обычной функции.
Прочитайте, как работает call_user_func
. Должен обеспечить более глубокое понимание.
http://us2.php.net/manual/en/language.pseudo-types.php#language.types.callback