2017-10-19 24 views
0

私は自分のアカウントを削除する必要があることをユーザーがクリックすると、ワードプレスサイトのユーザーアカウントを削除するためのフロントエンドにリンクがあります。ワードプレスのフロントエンドからユーザーアカウントを削除

私のfunctions.phpページに、そのための短いコードを追加しました。

function shortcode_del_user_ac(){ 
add_action('init','prefix_delete_user'); 
function prefix_delete_user() { 
if(isset($_REQUEST['action']) && $_REQUEST['action']=='prefix_delete_user') { 
    include("./wp-admin/includes/user.php"); 


     $user_id = intval($_REQUEST['user_id']); 
     wp_delete_user($user_id); 
     exit(); 

} 
}} 
add_shortcode('abc_del_user_ac',shortcode_del_user_ac); 

と私のフロントエンドから(私は視覚的な作曲を使用しています)私は次のように、削除ユーザーアカウントとしてリンクを追加

<a href="[abc_del_user_ac]">Delete account</a> 

しかし、私はそのリンクを押した後、再びにリダイレクトユーザーのプロフィール。アカウントの削除リンクがある場所。ユーザーアカウントはまだそこにあります。それは削除されません。

私が間違って行ったことはありますか?

+0

すべてのユーザーに管理者権限がありますか? – Tomm

+0

@Tomm:いいえ、ただ1人の管理者がサブスクライバだけです –

+0

あなたは//管理者権限を確認しています。現在のユーザーがコードを実行することができないユーザーを編集できるかどうかを伝えてください。 – Tomm

答えて

0

ユーザーが自分のアカウントを削除できるようにします。

すべてのユーザーが管理者である必要はなく、自分のアカウントを削除するためにユーザーを管理者にしてもらいたいので、コードは続行されません。

(current_user_can( 'edit_users')){ $ USER_ID = INTVAL($ _ REQUEST [ 'USER_ID'])であれば、 wp_delete_user($ user_id); exit(); }

これは、adminの代わりにユーザーのように変更する必要があります。

+0

私の質問は@Tommに更新されました。しかし、問題はまだ残っています。私のユーザーアカウントを削除していません。 –

関連する問題