• Resolved gobylover

    (@gobylover)


    Gianismというプラグインを用いてfacebookログインを実装しようとしています。

    ログインボタンをサイドバーウィジェットに表示し、ログイン後は元いたページに戻る仕様にしたく思っています。

    公式サイトなどを参考に、functions.phpに以下の様に書きました。

    function _my_redirect_to($url){  
    $location = wp_get_referer() ;  
    return $location;  
    }  
    add_filter('gianism_redirect_to', '_my_redirect_to');

    動作を確認してみると
    ●既にログインしたことがあるユーザー
    想定通り、元いたページに戻る
    ●初めてログインするユーザー
    https://ドメイン/facebook/?code=【非常に長い英数列】に戻る
    という動作になってしまいました。

    既にログインしたことのあるユーザー、新規ログインユーザー共に元いたページにリダイレクトする方法をご存知の方がいらっしゃいましたら、ご教授頂ければ幸いです。

    尚、必要な情報かはわかりませんが、facebookログインに関しては、header.phpにJavaScript SDKを追記して実装しました。

Viewing 2 replies - 1 through 2 (of 2 total)
  • Plugin Author Takahashi Fumiki

    (@takahashi_fumiki)

    > ログインボタンをサイドバーウィジェットに表示し、ログイン後は元いたページに戻る仕様にしたく思っています。

    これはどうやって実装したのでしょうか?

    Gianismはリダイレクトを行うので、元いたページをリファラーで判断することはできません。ボタンを呼び出すときに gianism_login という関数を使うのですが、このときにリダイレクト先を指定することができます。

    <?php gianism_login( '<div class="gianism_login">', '</div>', home_url( $_SERVER['REQUEST_URI'] ) ); ?>
    

    このような感じで実現できるのではないでしょうか。

    尚、必要な情報かはわかりませんが、facebookログインに関しては、header.phpにJavaScript SDKを追記して実装しました。

    facebookログインというのは、これですか? だとしたらGianismとは一緒に動きません。

    Thread Starter gobylover

    (@gobylover)

    > ログインボタンをサイドバーウィジェットに表示し、ログイン後は元いたページに戻る仕様にしたく思っています。

    これはどうやって実装したのでしょうか?

    以下のコードで実装しておりました。

    function psd_fb_login() {
        $current_url = $_SERVER["REQUEST_URI"];
        if (is_user_logged_in()){
            return '';
        }
        if(strpos($current_url,'forums') !== false){
            if( function_exists('gianism_login') ){
               gianism_login();
            }
        }
    }
    add_shortcode('psd_fb_login', 'psd_fb_login');

    上記コードの
    gianism_login();
    の部分を、教えて頂いた
    gianism_login( '<div class="gianism_login">', '</div>', home_url( $_SERVER['REQUEST_URI'] ) );
    に変更したところ、想定通りの挙動となりました。

    ありがとうございました!!

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Gianismで新規facebookログイン後のリダイレクト’ is closed to new replies.