三分钟热度教程:WordPress插件开发之能自定义钩子吗
因为,我只能保持三分钟热度,所以,知识点一定要在三分钟之内讲完……
关于 WordPress 钩子的话题,已经聊了很多。既然,钩子这么好用,我们能定义自己的钩子吗?
当然可以!而且,还很方便。只要在需要钩子的调用 add_action 和 do_action 函数就可以了。
add_action 和 do_action 函数,不仅可以调用已经定义好的钩子,而且还可以定义新的钩子。如果,传入的钩子名称不存在,你就定义了一个新的钩子。
看一下代码就清楚了:
// 钩子回调函数
function example_callback( $arg1, $arg2 ) {
// 一些处理过程
}
add_action( 'example_action', 'example_callback', 10, 2 );
// 自定义钩子,同时调用这个钩子上所有的回调函数
do_action( 'example_action', $arg1, $arg2 );
再看一个例子:
function my_callback( $should_be_an_array ){
var_dump($should_be_an_array);
}
add_action( 'my_action', 'my_callback' );
do_action( 'my_action', array(new stdclass()) );
do_action( 'my_action', array( 'array_item_thats_not_an_object') );
其实,并没有所谓的定义钩子的过程,在使用钩子的过程中,钩子就诞生了。这个过程有点像是给一组函数起了一个名字,之后通过这个呼叫这个名字,就会执行绑定在这个名字上的回调函数。
这里需要注意的是,需要先 add_action ,再 do_action,不然回调函数是不会执行的。
-
UpdraftPlus WordPress 备份插件UpdraftPlus是一款WordPress备份插件,在WordPress官网显示,UpdraftPlus插件有超过300万+的下载量,插件支持WordPress网站的完整备份,并将其存储在云存储中或下载到本地。
-
User Meta WordPress前端注册登录与编辑资料插件User Meta是一款WordPress前端注册登录与编辑资料插件,这些操作均在在前端页面进行,当然还带有额外字段的用户注册。
-
WordPress插件:wpDiscuz评论增强插件wpDiscuz是一款WordPress评论增强插件,它具有自定义评论表单和字段的AJAX实时评论插件,旨在增强WordPress内置评论功能。
-
WordPress插件:Honeypot for WP Comment防止垃圾评论插件安装Honeypot插件后,会在评论表单中增加一个隐藏字段,真人用户评论时无需填写(因为看不到该字段),而机器人可见且认为需要填写,这时我们即可根据该信息判断为垃圾评论,然后阻止提交。
-
WordPress用户头像和后台管理员头像不显示的解决办法常有小伙伴问追格小编,说WordPress用户头像和后台管理员头像不显示,是否有啥解决办法。若使用的WordPress主题没有自定义头像功能的话,有可能会出现上述所说问题。
-
WordPress基础知识:如何安装WordPress主题和WordPress插件如何安装WordPress主题和WordPress插件
暂无评论,抢个沙发...