2010-08-30 5 views
3

хорошо им обучения, чтобы создать плагин WordPress я скачал один и читать коды, и я видел это я считать, «Foo» является тег, где он будет добавить действие к ..функция add_action в WordPress

но что делает массив() точно?

add_action('foo', array('foo1', 'foo2')); 

я смотрел на http://codex.wordpress.org/Function_Reference/add_action и нет четкого определения о нем ..

+0

Вы можете проверить эту ссылку - [использование действия добавления] (http://w4dev.com/wp/add_action/) – Shazzad

ответ

3

Правильно, первый аргумент тега (к которому вы будете добавлять действие), а второй аргумент задает функцию для вызова (т.е. вашего обратного вызова).

Второй аргумент принимает обратный вызов PHP и, как таковой, принимает несколько допустимых форм. Проверьте это для всех из них:

PHP Callback Pseudo-Types

типа вы показали выше типа 2. Первый элемент массива определяет класс, а второй элемент определяет, какую функцию класса вы Мне бы хотелось позвонить.

Итак, в примере, который вы указали выше, что это будет делать, так это то, что когда вызывается действие foo(), оно в конечном итоге вызовет также foo1->foo2().

+0

Обратите внимание, что foo2() должен быть статическим, чтобы это работало. :) –

+0

спасибо, Ричард, я это понимаю (почти) xD так что вы имеете в виду, что foo1 - это класс, а foo2 - метод внутри класса? ад, мне нужно узнать oop в php xD спасибо, ребята, извините за такой немой вопрос: P – kapitanluffy

+0

yup, это в основном правильно. :) ok lang yan. : p –

2

Второй аргумент функции add_action является функция, которая будет вызвана с крючка.

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