Php 更新用户配置文件时执行插件功能

Php 更新用户配置文件时执行插件功能,php,wordpress,Php,Wordpress,我写了一个Wordpress插件,里面有几个函数。这个插件按预期工作,所有功能都完成了它们的工作。现在,当用户更新其个人资料时,我需要调用插件的一个函数 我在我的插件中尝试了以下代码,但没有成功 add_action( 'profile_update', 'myfunction'); 使用Wordpress挂钩的最佳实践是什么?更新用户配置文件时,如何从插件调用函数 下面是我的小插件的结构: <?php /* Plugin Name: myplugin */ add_action( 'a

我写了一个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>';
}

?>


你有太多的钩子在一个或两个钩子里:

//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' );
阅读更多关于钩子的信息:

我想我必须在我的插件末尾添加这个钩子,对吗?在任何地方。只需确保函数存在。大多数情况下,我做的是add_action(),然后在我添加函数()之后的行上,那么你做错了。我就是这样做的。当用户更新其配置文件时,运行函数。这就是它的代码。你必须提供更多的信息,但是“当用户更新信息时,我如何运行函数”这个问题的答案就是上面的答案。例如:你怎么知道它没有运行?对不起,我不想责怪你。我知道它不起作用,因为当我在我的插件选项页面中调用它时,该函数就起作用了。该函数在屏幕上打印一些内容并修改外部数据库。但是,当我在概要文件更新中使用钩子时,它不会写入任何内容,也不会写入数据库。就像我说的,我在profile_update hook之前已经测试过了,但它也不起作用。我做错了什么,但我不认为是…这是我的插件的最后一个版本。当我从管理面板调用我的功能时,它可以正常工作,但对profil更新没有任何操作。正如您所看到的,它在外部数据库中写入,在另一台服务器中在ftp中写入。当然,我在很多地方添加了“个人资料更新”操作,但这并不是很有用。。。