Do_action() - функция WordPress

Опубликовано: 01.09.2018

Принцип работы do_action() очень похож на принцип работы функции apply_filters() — всё начинается с кода, изменять который пользователю/разработчику сайта не стоит, и в этом коде есть место в котором потенциально будет нужно выполнить какой-то код. И в это место при помощи do_action() ставится хук, который позволяет это осуществить

do_action ( $tag , $arg = '' , $arg2 = '' , ... )
$tag (строка) Название функции, которая будет запущена. $arg Любое количество переменных, которые будут переданы в эту функцию.

Функция ничего не возвращает.

Предположим, что вы пишете свой плагин, и в этом плагине допустим есть место, в котором возможно потребуется выполнение дополнительного кода, скажем так — кому-то может потребуется, а кому-то нет.

В это место кода вы вставляете функцию do_action()

do_action ( 'misha_action' ) ;

Теперь, при помощи уже функции add_action() где-либо в другом месте можно запустить привязанную к этому хуку функцию, например в файле functions.php текущей темы, например.

add_action ( 'misha_action' , 'misha_function_1' ) ; function misha_function_1 ( ) { echo 'Привет' ; }

Также вы можете передавать несколько параметров

Тогда наш код примет вид:

do_action ( 'misha_action' , $param1 , $param2 , $param3 ) ;

И

add_action ( 'misha_action' , 'misha_function_1' , 10 , 3 ) ; // 3 - количество параметров function misha_function_1 ( $param1 , $param2 , $param3 ) { if ( $param1 == $param3 ) echo 'Привет' ; else echo 'Привет' . $param1 . $param2 . $param3 ; }

Подробнее — в документации функции add_action() .

rss