1

ユーザーが削除される前に、delete_user フックを使用してアクションを実行 (別の関数を呼び出す) しています。これは私のコードの一部です:

 function delete_user( $user_id ) 
{
    include('sso_functions.php');
    global $wpdb;
    $user_obj = get_userdata( $user_id );
    $email = $user_obj->user_email;
    $login = array_values(login($email)); 
    $login_err = $login[1];
    $cookie = $login[0];
    if($login_err == 0)
    {

        //....
    }
    else
    {
        //...
    }



}
add_action( 'delete_user', 'delete_user' );

Login() 関数は sso_settings.php ファイルで宣言されています。

1 人のユーザーだけを削除しようとすると、正常に機能します。

しかし、2 人のユーザーを削除しようとすると、login() 関数が呼び出され、最初のユーザーが Wordpress から削除されますが、その後、関数 login() が再宣言されているという php エラーが発生します。include('sso_function.php') の代わりに include_once('sso_functions.php') を使用するとします。エラーは表示されず、ユーザーは Wordpress から削除されますが、関数 Login() は 2 番目のユーザーに対して呼び出されません。

どうすればこれを解決できますか?ありがとう!

4

3 に答える 3

0

よくわかりませんが、delete_user はすでに関数になっていると思います。名前を delete_user から別のものに置き換えてみてください。何かのようなもの

add_action( 'delete_user', 'wp_delete_user' );

また、関数の名前を変更することも忘れないでください。プラグイン名を接頭辞として使用すると、常に優れています。関数 login にも同じことが言えます。プレフィックスを追加して、コア関数がカスタム作成関数と混在しないようにします。

于 2015-04-17T16:21:33.823 に答える