2017-03-22 67 views
1

我有一個自定義登錄/註冊和忘記密碼的HTML模板我 最近
購買頁面。我只想通過這些頁面而不是 wp-login/register頁面工作。我修改了一下登錄頁面,如果我在窗體中輸入正確的信息,我可以完美登錄。自定義HTML WordPress的登錄/註冊頁

當我在窗體中輸入空白表單或不正確的信息時,問題仍然存在。該頁面被重定向到標準的wp-login.php。

有沒有辦法讓頁面重定向,而不是顯示一些文本可能陳述「您輸入的信息不正確或空再試一次」?

這是我現在在下面實現的自定義代碼。

 <form name="loginform" id="loginform" action="https://example.com/wp-login.php" method="post"> 
      </form> 

    <input type="submit" name="wp-submit" id="wp-submit" value="Log In" class="button button-fill color-black text-thiny"> 

FYI我的模板/ HTML文件位於我的根publichtml文件夾而不是的wp-content

+0

您可以改變腳本來返回響應,然後使用Ajax調用來提交表單嗎? – coopwatts

+0

我看着Ajax的實現我不知道從哪裏開始。 – StudioHeads

回答

0

設置在WordPress的登錄表單正確的方法是:

<form method="post" action="<?php echo wp_login_url('URL_TO_REDIRECT_AFTER_LOGGED'); ?>"> 
    <input type="text" name="log"> 
    <input type="password" name="pwd"> 
    <input type="submit" name="wp-submit" value="Login" > 
</form> 

表單操作是您成功登錄時的URL。保持輸入'name'字段很重要,因爲這些字段會以登錄數據的形式獲得wordpress

+0

即使有不正確的信息或空白表格,頁面仍然會重定向 – StudioHeads

0

更改wp-login.php以迴應某種可用於驗證的響應,然後控制自己發生的情況(重定向/錯誤msg)用ajax調用

function myCallBack(response) { 
    if(response == "success") { 
     //Handle login redirect 
    } else { 
     //Handle error message to user 
    } 
} 

$('#wp-submit').on('click', function(event) { 

    event.preventDefault(); 

    var form = $('#loginform'); 

    var serializedData = form.serialize(); 

    $.ajax({ 
     url: "/wp-login.php", 
     type: "post", 
     data: serializedData, 
     success: myCallBack 
    }); 

} 
+0

我添加到我的functions.php或js文件中嗎? – StudioHeads

+0

您可以在JS文件中執行此操作,然後在functions.php中使用wp_enqueue_script來加載它 – coopwatts