質問: network_site_url('/wp-admin/includes/ms.php'); if ($user) { include($url); wpmu_delete_user($user->id); echo "ok|user deleted!"; exit; } } else { echo "unknown_action|unknown_action"; exit; } }しかし、ユーザーは削除されません!何がおかしいのですか?ご協力ありがとうございます。編集:これはwpmudevsメンバーシッププラグインで使用されるペイメントゲートウェイアドオンファイル内で起こっています。アドオンファイルには、ゲートウェイの戻りを処理する関数があり、ユーザーの作成はwp_create_userを使用して正常に機能し、はい、そこにインクルードする必要はありませんでした。ここでインクルードを追加したのは、どこかで言及されているのを見たからです。インクルードしないとうまくいかないと思います(しかし、必要ではないと思いました)。
回答: 私はしばらく前にこれを考え出しました...完全にここに投稿するのを忘れました。インクルードを正しく追加したら、それはうまくいきました:require_once('./wp-admin/includes/ms.php'); if ( $user ) { wpmu_delete_user( $user->id ); } 将来の読者のために、これが最後のコードです。function handle_gateway_return() { $gwpass = get_option( $this->gateway . "_gateway_gwpass" ); if ($_get["gwpass"] != $gwpass) { header("http/1.0 401 unauthorized"); echo "<h1>gateway 1.1</h1><h3>authentication failed.</h3>"; exit; } if ($_get["action"] == "user.add") { // load variables. $zfirstname = trim($_get['firstname']); $zlastname = trim($_get['lastname']); $zfullname = $zfirstname." ".$zlastname; $zusername = trim($_get['username']); $zemail = trim($_get['email']); $zpassword = trim($_get['password']); $zpassword = md5($zpassword); //md5 if ( !username_exists( $zusername ) ) { wp_create_user( $zusername, $zpassword, $zemail ); } // tell server that user was added echo "ok|user added!"; exit; } else if ($_get["action"] == "user.delete") { $zusername = trim($_get['username']); $user = get_user_by( 'login', $zusername ); require_once('./wp-admin/includes/ms.php'); if ( $user ) { wpmu_delete_user( $user->id ); } else { echo "user not deleted!"; exit; } // tell server user deleted echo "ok|user deleted!"; exit; } else { echo "unknow_action|unknow_action"; exit; } }