WordPress中add_action(将函数连接到指定action)
首先说下WordPress中用的钩子,将一个函数,以一个新的动作命名,该函数就是
语法:
1
2
3
add_action($tag,$function_to_add,$priority,$accepted_args);
?>
参数:
$tag
(字符串)(必填)$function_to_add 所挂载的动作(action)的名称。也可以是一个主题或插件文件内部的一个动作,或者特定的标签“all”,这个函数将被所有的钩子(hooks)调用。
默认值:None
$function_to_add
(回调)(必填)你希望挂载的函数的名称。注:在 PHP“回调”类型文档中 所罗列的字符串格式化的语法均可用。
默认值:None
$priority
(整数)(可选)用于指定与特定的动作相关联的函数的执行顺序。数字越小,执行越早,具有相同优先级的函数在它们被添加到动作的顺序执行。
默认值:10
$accepted_args
(整数)(可选)挂钩函数所接受的参数数量。在 WordPress1.5.1 及以后的版本中,挂钩函数可以是调用do_action() 或 apply_filters()时设置的参数。例如,comment_id_not_found动作将传递任何函数,若该函数将所请求的评论编号连接到该动作。
默认值:1
返回值
(布尔)总是True。
do_action( 'personal_options_update', $user_id );
1
do_action('personal_options_update',$user_id);
意思是将参数$user_id传递给函数,至于函数名,请在functions.php或其包含的文件中(用Advanced Search and Replace之类的软件搜索整个主题或插件的文件夹吧)搜索personal_options_update,你可能会找到一个类似于
add_action('personal_options_update','函数名');
1
add_action('personal_options_update','函数名');
总之,搜索personal_options_update是关键,搜索到它了,你就找到处理数据的函数了;
//如果当前用户不能编辑用户,就返回权限不足的信息。
if ( !current_user_can('edit_user', $user_id) )
wp_die(__('You do not have permission to edit this user.'));
//如果是这个页面就怎么着,不是就怎么着,如果原代码中就是IS_PROFILE_PAGE,那么,你就再用上述方法搜这个常量,如果你感兴趣的话。
if ( IS_PROFILE_PAGE ) {
do_action( 'personal_options_update', $user_id );
} else {
do_action( 'edit_user_profile_update', $user_id );
}
//关键函数不在这个文件中,而是在functions.php或其包含的文件中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//如果当前用户不能编辑用户,就返回权限不足的信息。
if(!current_user_can('edit_user',$user_id))
wp_die(__('You do not have permission to edit this user.'));
//如果是这个页面就怎么着,不是就怎么着,如果原代码中就是IS_PROFILE_PAGE,那么,你就再用上述方法搜这个常量,如果你感兴趣的话。
if(IS_PROFILE_PAGE){
do_action('personal_options_update',$user_id);
}else{
do_action('edit_user_profile_update',$user_id);
}
//关键函数不在这个文件中,而是在functions.php或其包含的文件中
请尊重我们的辛苦付出,未经允许,请不要转载 本站 的文章,鄙视各种无耻的采集行为!
发表评论
要发表评论,您必须先登录。