2016-10-27 12 views
0

彼は同じページにAJAXの検証と、ログイン後にユーザーをリダイレクトします。は、私は私のワードプレスのウェブサイトのためのユーザー(AJAXログイン)を検証するために、この機能を使用しています

// Perform AJAX login on form submit 
    $('form#vbp-login-form').on('submit', function(e){ 
     $('form#vbp-login-form p.status').show().text(ajax_login_object.loadingmessage); 
     $.ajax({ 
      type: 'POST', 
      dataType: 'json', 
      url: ajax_login_object.ajaxurl, 
      data: { 
       'action': 'ajaxlogin', //calls wp_ajax_nopriv_ajaxlogin 
       'username': $('form#vbp-login-form #username').val(), 
       'password': $('form#vbp-login-form #password').val(), 
       'security': $('form#vbp-login-form #security').val() }, 
      success: function(data){ 
       $('form#vbp-login-form p.status').text(data.message); 
       if (data.loggedin == true){ 
        document.location.href = ajax_login_object.redirecturl; 

       } 
      } 
     }); 
     e.preventDefault(); 
    }); 

ログイン後、ユーザは自分が行ったページではなくホームページにリダイレクトされます。彼が来たのと同じページにリダイレクトされるようにしたい。これどうやってするの ?

あらゆる種類のヘルプは高く評価されています。

+0

document.location.href = ajax_login_object.redirecturl; 

を置き換えることができ、私は以下の回答にJavaScriptで代替ソリューションを追加しました。 –

答えて

0

PHP SOLUTION

私はあなたがPHPでajax_login_objectアレイを形成していると推定。おそらく

wp_localize_script('your_script', 'ajax_login_object' , $ajax_login_object); 

これは、とにかくフロントエンドスクリプトにデータを渡す通常のWordPressメソッドです。

このPHPを試してみてください:

$ajax_login_object['redirecturl'] ="//".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 

それともhttp://www.insertcart.com/get-current-page-url-in-wordpress/からこれを試してみてください。

$ajax_login_object['redirecturl'] = esc_url(the_permalink()); 

http://mekshq.com/get-current-page-url-wordpress/から別の方法がある:

global $wp; 
$ajax_login_object['redirecturl'] = home_url(add_query_arg(array(),$wp->request)); 

JavaScriptのソリューション

これは純粋なJavaScriptのソリューションです。 JS window.location.href

は、ページの現在のURLを返します。だからあなたのコード内であなたが

document.location.href = window.location.href; 
+0

あなたは、私が上記のjQueryの機能で、この機能を使用することができますどのように、少しより多くの情報を与えてもらえます。ありがとうJames Jones –

+0

あなたはPHPの側でそれを使用します。これはjQueryではありません。 –

+0

これは私のPHPリダイレクト機能です。 wp_localize_script( 'ajax-login-script'、 'ajax_login_object'、array( 'ajaxurl' => admin_url( 'admin-ajax.php')、 'redirecturl' => home_url()、 'loadingmessage' => __ ( 'ユーザー情報の送信中、お待ちください...') )); 'あなたは、私が提案PHP線の一方で ')(' HOME_URLを交換する必要があります@LionHunter –

関連する問題