在更新用户配置文件时执行插件函数


Execute a plugin function when a user profile is updated

我写了一个Wordpress插件,里面有几个函数。这个插件按预期工作,所有函数都能正常工作。现在,当用户更新个人资料时,我需要调用插件的一个函数。

我在插件中尝试了以下代码,但没有成功。

add_action( 'profile_update', 'myfunction');

使用Wordpress挂钩的最佳实践是什么?当用户配置文件更新时,我如何从插件中调用该函数?

这里是我的小插件的结构:

<?php
/*
Plugin Name: myplugin
*/
add_action( 'admin_menu', 'myplugin' );
function myplugin() {
add_options_page( 'myplugin', 'myplugin', 'manage_options', 'myplugin_id', 'myplugin_options' );
}
function myplugin() {
if ( !current_user_can( 'manage_options' ) )  {
    wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
}
?>
<div class="wrap">
<?php    echo "<h2>" . 'Galette users sync' . "</h2>"; ?>
<form name="galette" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>">
    <input type="submit" name="Submit" value="Mise à jour" />
</form>
<?php
function function1() {
    stuff
}
function function2() {
    stuff
}
function function3() {
    stuff
}
function function4() {
    stuff
}
if($_SERVER['REQUEST_METHOD']=='POST')
{
       function4();
} 
echo '</div>';
}
?>

当用户更新配置文件时,我想调用function2()

有人帮忙吗?

您有太多挂钩到一个或两个挂钩:

//is run when you edit YOUR profile, and save it
add_action( 'personal_options_update', 'function2' );
//is run when you edit ANY OTHER profile and save it
add_action( 'edit_user_profile_update', 'function2' );

点击此处阅读更多关于挂钩的信息:http://codex.wordpress.org/Plugin_API/Hooks