Warning: Invalid argument supplied for foreach() in /www/wwwroot/edu729/wp-content/plugins/learnpress/inc/class-lp-assets.php on line 180

add_action()和do_action()的使用

在插件开发中,经常会和add_action()和do_action()打交道,而它们使用方法是什么呢,并且它们之间的联系又

有哪些呢? 好的,我们今天来接触接触add_action()和do_action():

(1)add_action( $tag, $function_to_add, $priority, $accepted_args );
函数解析:该函数从字面上就可以理解到,添加动作,绑定动作,将$function_to_add绑定到$tag

参数解析:
$tag : $function_to_add所挂载的动作(action)的名称(必需),可以自定义,也可以调用 WPPlugin里面
的hook列表, 根据需求而定,而大多数插件开发中,一般都是自定义(字符串)

$function_to_add : 一个函数(字符串),挂载在这个动作下面,当动作被触发的时候,运行函数

$priority :(数字)由于挂载在一个动作上的函数不一定只有一个,所以这个$priority起到先后运
行的关系,数字越小,$function_to_add函数越先运行

$accepted_args : (整数)(可选)挂钩函数所接受的参数数量

(2)do_action( $tag, $arg )
函数解析:该函数从字面上就可以理解到,执行动作,执行名为$tag方法,并且运行绑定到$tag上的所有方法

(3)add_action()和do_action()的结合使用:


//定义$function_to_add方法
function output_copyright_info()
{
echoget_option('my_copyright_content');
}

//绑定动作
add_action('my_self_func','output_copyright_info');

//定义my_self_funcs函数(可以用其他的名称)
function my_self_funcs()
{
//执行'my_self_func'这个动作,
do_action('my_self_func');
}

在woredpress网站运行的时候,在特定的某处运行函数my_self_funcs就会加载触发 my_self_func这个钩子,
就会执行 函数 output_copyright_info,以及执行绑定在这个动作上的所有方法………