我現在在網站上使用wp_login_form()
,當您正確登錄時,它會將用戶重定向到相應的URL。在wordpress中重定向登錄表格
不幸的是,如果您在用戶名/密碼中輸入錯誤,它會將您轉到wp-login.php
,這會在用戶身上晃動其框。並破壞一致的品牌體驗。
那麼有沒有人知道一種方法,使它不這樣做?
我現在在網站上使用wp_login_form()
,當您正確登錄時,它會將用戶重定向到相應的URL。在wordpress中重定向登錄表格
不幸的是,如果您在用戶名/密碼中輸入錯誤,它會將您轉到wp-login.php
,這會在用戶身上晃動其框。並破壞一致的品牌體驗。
那麼有沒有人知道一種方法,使它不這樣做?
試試這個:
這將讓你有主題的頁眉和頁腳,在登錄頁面
add_action('login_head', 'wp_custom_login_header');
function wp_custom_login_header() {
wp_enqueue_style('wp-custom-login');
do_action('wp_custom_login_header_before');
get_header();
do_action('wp_custom_login_header_after');
}
add_action('login_footer', 'wp_custom_login_footer');
function wp_custom_login_footer() {
do_action('wp_custom_login_footer_before');
get_footer();
do_action('wp_custom_login_footer_after');
}
function wp_custom_login_is_login_page() {
return in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'));
}
說你使用wp_login_form()
功能,我猜你使用自定義窗體在自己的網頁上。
有幾件事你可以做。
如果此表單位於其自己的頁面上,而您只是希望將不正確的密碼/用戶名返回到該頁面並提醒用戶,則可以在您的functions.php
文件中創建一個函數,該函數將重定向到引用頁面像這樣:
add_action('wp_login_failed', 'my_front_end_login_fail'); // hook failed login
function my_front_end_login_fail($username) {
$referrer = $_SERVER['HTTP_REFERER']; // where did the post submission come from?
// if there's a valid referrer, and it's not the default log-in screen
if (!empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin')) {
wp_redirect($referrer . '?login=failed'); // let's append some information (login=failed) to the URL for the theme to use
exit;
}
}
如果你只是想刪除的震動,你可以在你functions.php
文件中使用這段代碼將停止抖動。
function my_login_head() {
remove_action('login_head', 'wp_shake_js', 12);
}
add_action('login_head', 'my_login_head');
這最後的建議只是基於用戶訪問wp-login.php
頁面,然後踢回給您的自定義登錄頁面。
function redirect_login_page() {
$login_page = home_url('/login/'); // CHANGE THIS TO YOUR PAGE URL
$page_viewed = basename($_SERVER['REQUEST_URI']);
if($page_viewed == "wp-login.php" && $_SERVER['REQUEST_METHOD'] == 'GET') {
wp_redirect($login_page);
exit;
}
}
add_action('init','redirect_login_page');
它不起作用。我有一個wordpress主題,它已經包含了所有登錄/註冊的代碼,但是當我輸入錯誤的密碼和空白字段,然後重定向到wp-login.php頁面,當所有字段被填充比其工作。 –
你試過哪段代碼?頂部還是底部? – Stewartside
top add_action('wp_login_failed','my_front_end_login_fail'); // hook failed failed function my_front_end_login_fail($ username){ $ referrer = $ _SERVER ['HTTP_REFERER']; //帖子提交來自哪裏? //如果有一個有效的推薦鏈接,並且它不是默認登錄屏幕 if(!empty($ referrer)&&!strstr($ referrer,'wp-login')&&!strstr($ referrer,'wp- admin')){ wp_redirect($ referrer。'?login = failed'); //讓我們追加一些信息(登錄=失敗)到主題的URL使用 exit; } } –