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_action和add_filter的参数是指当执行第一个参数的事件时,执行第二个参数的函数,add_filter与add_action大部分参数可以互换,

不同的是add_filter相当于重写覆盖第一个参数函数、add_action相当于继承第一个参数函数在原有基础上添加代码。

add_action参数手册:https://codex.wordpress.org/Plugin_API/Add_Reference

add_filter参数手册:https://codex.wordpress.org/Plugin_API/Filter_Reference

posted @ 2016-10-16 16:08  Leytton  阅读(193)  评论(0编辑  收藏  举报