WordPress动作钩子:add_action与do_action的与应用指南
WordPress的扩展性和灵活性在很大程度上得益于其丰富的动作钩子(Action Hooks)。其中,add_action()和do_action()函数是WordPress动作系统的核心组成部分。如果你正在寻找如何在WordPress中使用这两个函数的方法,那么下面的内容将为你提供详细的指导。
一、add_action()函数(添加动作)
add_action()函数用于将一个函数挂载到特定的动作钩子上。当相应的动作被触发时,所有挂载在该动作上的函数都会被执行。
用法:
```php
add_action( $tag, $function_to_add, $priority = 10, $accepted_args = 1 );
```
参数说明:
`$tag`:动作的名称,是字符串类型,必须提供。
`$function_to_add`:要挂载的函数名,直接填写字符串形式的函数名即可。
`$priority`:动作的优先级,数值越小越先被执行,默认值为10。
`$accepted_args`:回调函数接收的参数数量,默认值为1。
例子:
以下代码给 `wp_head` 动作挂载了一个函数,该函数会在head标签打印输出一些东西。
```php
function Bing_wp_head_test_print(){
echo '';
}
add_action( 'wp_head', 'Bing_wp_head_test_print' );
```
二、do_action()函数(执行动作)
do_action()函数用于触发特定的动作钩子,执行挂载在该动作钩子上的所有函数。
用法:
```php
do_action( $tag, $arg... );
```
参数说明:
`$tag`:要执行的动作的名称,是字符串类型。
`$arg`:额外的参数,会被传到调用的函数里,可以添加无限个。
例子:
假设你已经使用add_action()函数挂载了一个名为“test”的动作,并挂载了一个名为func的函数。那么,你可以使用do_action()函数来触发这个动作:
```php
function func(){
echo '测试';
}
add_action( 'test', 'func' );
do_action( 'test' ); // 屏幕打印 "测试"
```
当你执行do_action('test')时,func函数就会被调用,并打印出“测试”。这就是do_action()的基本用法。在实际开发中,你可以使用它来触发各种动作钩子,执行挂载的函数,实现各种功能。需要注意的是,do_action()没有返回值,它仅仅是执行挂载的函数。此函数位于wp-includes/plugin.php文件中。希望以上内容能帮助你更好地理解和使用WordPress中的这两个函数。更多详细信息和参考,请查阅WordPress官方文档或相关教程。