サポート » プラグイン » SNSアカウントでログインできる「Gianism」でログインした場合について

  • SNSアカウントでログインできる「Gianism」を利用しています。
    FB・Twitterログインした場合についての質問です。

    ログイン順にユーザー一覧をサイトの右に表示できるような作りました(下記にコード①②)。しかし、既存のフォームより新規登録していただいたユーザーは、表示できるのですが、FacebookとTwitter経由で登録されたユーザーは表示されません。おそらく「Gianism」でログイン経由では、既存のログインフォームを通らないためにアクションフック’wp_login’時に実行できないのだと思います。試行錯誤ですが、どのように解決すればよいのかが分からないので、ここで質問いたします。よろしくお願いします。

    ①founctions.phpに追加コード

    //ログインの情報
    add_action('wp_login','user_last_login', 0, 2);
    function user_last_login($login) {
        $user = get_userdatabylogin($login);
        $now = current_time('mysql');
        update_usermeta( $user->ID, 'user_last_login', $now );
    }

    ②get_users 関数より
    テンプレートに表示するためのコード

    <?php
    
          $args = array(
          'orderby' => 'meta_value', //メタキー利用
          'meta_key'=>'user_last_login', //指定
          'order'=>'DESC',
          'number' => 20,);  // 表示のユーザー数
    
        $users = get_users( $args );
    
        foreach($users as $user):
        $uid = $user->ID;
        ?>
    
        <!--ユーザーの画像の表示とリンクのコード 省略 -->
        <?php endforeach;?>

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • プラグインGianismのコードをざっと見たところ、SNSで認証できたユーザーについてコアの関数wp_set_auth_cookieを呼び出してログインさせているみたいです。この関数の最後でアクションフックset_auth_cookieとset_logged_in_cookieが呼び出されるので、どちらかを使えば良いのではないでしょうか(検証していませんが)。

    アクションフックwp_loginはコアの関数wp_signonから呼び出されていますが、その直前にwp_set_auth_cookieが呼び出されているので、御自分のアクションが二回呼び出されないように修正が必要かもしれません。それからwp_set_auth_cookieは関数wp_update_userからも呼び出されるので、これも考慮が必要と思います。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「SNSアカウントでログインできる「Gianism」でログインした場合について」には新たに返信することはできません。