WordPressサイトにログインするときにユーザーの名前と電子メールを取得する必要があるプラグインを構築しています。私はWordPressでget_user_by()
とwp_get_current_user()
の両方の機能を使用しようとしましたが、役に立たなかった。私はwp_login
アクションフックを使用しています。wp_loginフックでWordPressのget_user_by関数またはwp_get_current_user関数でユーザーの詳細にアクセスできません
コードの例:
function send_login_notification()
{
$user_info = get_user_by('id', get_current_user_id());
$user_name = ucfirst($user_info->user_login);
$user_email = $user_info->user_email;
[...]
}
add_action('wp_login', 'send_login_notification');
は、しかし、私は時々次のエラーを提示、常にではないのです。
Notice: Trying to get property of non-object in [file path] on line 48
Notice: Trying to get property of non-object in [file path] on line 49
私はリフレッシュした場合、チャンスはそれが動作しますが、これ奇妙です。それは本当にヒットアンドミスです。
私はこの特定のフックの経験はありませんが、セッション/クッキーを使用してユーザーの詳細を保持しているようです。この場合、セッションが作成または使用可能になる前に、最初のコールが行われています。ただし、リフレッシュ時にセッションが使用可能で、コードが機能します。 –