Wordpress插件开发2 动作钩子函数add_action与add_filter过滤器
【本文出处:
http://blog.csdn.net/leytton/article/details/52830851】
可以通过代码和注释理解add_action与add_filter的功能。
在前文《Wordpress插件开发1 创建插件并设置插件信息》建立的index.php文件中添加下列代码:
function welcome(){ echo "欢迎使用iHuZhe管理插件<br/>"; } function debug_wp(){ die("调试页面<br/>");//为看到保存文章的瞬间效果,调用die函数停止后面的执行动作 } function edit_title($title,$id){ return '标题-'.$title.'|ID-'.$id.'-by leytton'; } function edit_content($content){ return $content.'-edited by leytton'; } function add_bodyclass($class){ $class[]='ihuzheclass';//不会删除原有class return $class; } //welcome(); add_action('admin_footer','welcome');//当管理后台的footer加载的时候执行; add_action('admin_head','welcome');//当管理后台的header加载的时候执行; add_action('wp_loaded','welcome');//wordpress刚刚加载的时候就立即执行; add_action('the_post','welcome');//每输出一篇文章的时候就执行一次; add_action('save_post','debug_wp');//当保存文章的那一瞬间执行; add_filter('the_title','edit_title',10,2);//修改文章标题,10为优先级,2为传入参数个数 add_filter('the_content','edit_content');//修改文章内容 add_filter('body_class','add_bodyclass');//添加前台body样式,不删除原有css样式
不同的是add_filter相当于重写覆盖第一个参数函数、add_action相当于继承第一个参数函数在原有基础上添加代码。
add_action参数手册:https://codex.wordpress.org/Plugin_API/Add_Reference
add_filter参数手册:https://codex.wordpress.org/Plugin_API/Filter_Reference