2017-10-19 73 views
0

我在wordpress站点中删除用户帐号的前端有一个链接。一旦用户点击他/她的帐号应该被删除。在wordpress中从前端删除用户帐号

在我的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:不,只有一个管理员其他人只是订户 –

+0

您是说//检查管理权限。然后你说如果当前用户可以编辑用户(他们不应该能够),然后执行代码 – Tomm

回答

0

您希望您的用户能够删除自己的帐户。

不是每个用户都应该是管理员,因为您希望用户成为管理员以删除他们自己的帐户,您的代码将不会继续。

如果(current_user_can( 'edit_users')){$ USER_ID = INTVAL($ _ REQUEST [ 'USER_ID']); wp_delete_user($ user_id); exit(); }

这应该改成用户喜欢的东西,而不是像管理员喜欢的东西。

+0

我更新了我的问题@Tomm。但问题仍然存在,它不会删除我的用户帐户。 –