WordPress中这些代码块之间有什么区别?

时间:2015-03-16 08:27:26

标签: php wordpress

这不起作用:

$simple_local_avatars = new Simple_Local_Avatars;

if(isset($_POST['save_account_details'] ) ) {
    $user_id = get_current_user_id();
    $simple_local_avatars->edit_user_profile_update($user_id);
}

但这是有效的,只是没有动态:

$simple_local_avatars = new Simple_Local_Avatars;

if(isset($_POST['save_account_details'] ) ) {
    $simple_local_avatars->edit_user_profile_update(58);
}

edit_user_profile_update函数需要当前登录的用户ID。

2 个答案:

答案 0 :(得分:2)

您的第一个代码块无法检索用户ID,您的第二个代码块无法检索。尝试echo第一个$user_id,它将为空。

换句话说:get_current_user_id();什么都不返回。它是空的。

编辑:

if(isset($_POST['save_account_details'] ) ) {
    $user_id = get_current_user_id();
    echo $user_id;
    $simple_local_avatars->edit_user_profile_update($user_id);
}

答案 1 :(得分:0)

目前似乎没有用户登录,这就是为什么您将0作为返回用户ID。

所以尝试类似的东西来确保用户是否登录:

编辑:

    if(isset($_POST['save_account_details'] ) ) {
        global $current_user;
        get_currentuserinfo();
        $user_id = $current_user->ID;
         if($user_id){
           $simple_local_avatars->edit_user_profile_update($user_id);
         }else{
                wp_die("Please log in first.");
         }

}

希望它可以帮助你..