Obtendo o usuário atual

2

Estou tentando usar informações sobre o usuário atual em um plug-in que estou criando e já vi pessoas abordando isso de várias maneiras diferentes.

Meu caminho

Este caminho parece funcionar, mas estou perdendo alguma coisa?

global $current_user;

// Use information
echo "User ID: " . $current_user->user_id;
echo "User First Name: " . $current_user->first_name;

Eu vi algumas pessoas chamarem a função get_currentuserinfo() na próxima linha depois de declarar a variável global $ current_user. No entanto, isso parece funcionar sem essa chamada - então é necessário?

Além disso, há a função wp_get_current_user() - qual é a diferença entre isso e get_currentuserinfo() ?

Eu também vi pessoas usarem uma variável global chamada $profileuser e usar get_user_to_edit() para configurá-la para o objeto de usuário. Existe algum benefício para isso?

Também vi pessoas referirem-se diretamente à variável global $user_ID , além de usarem o $current_user . Por que eles não usariam apenas $current_user->ID ?

    
por William 09.03.2013 / 13:10

1 resposta

8
  1. Chame a função get_currentuserinfo() na próxima linha depois de declarar a variável global $current_user

  2. Qual é a diferença entre wp_get_current_user() e get_currentuserinfo() ?

Abaixo está um trecho:

function wp_get_current_user() {

    global $current_user;

    get_currentuserinfo();

    return $current_user;
}

Acho que o código-fonte responde às suas duas primeiras perguntas, certo?

Lembre-se de que wp_get_current_user() está definido em wp-includes/pluggable.php , por isso pode ser substituído.

Além disso, é seguro ficar com global $current_user , porque o WordPress chama wp_get_current_user() durante a inicialização.

Especificamente, wp-settings.php - > novo WP - > WP- > init () - > wp_get_current_user

O uso de $profileuser , esta variável global só está disponível quando você está editando um usuário (user-edit.php) e os dados serão deles.

A última pergunta eu realmente não sei como responder, então vou deixar para os outros.

Espero que você não se importe.

    
por Jesse 09.03.2013 / 13:55

Tags