我现在在网站上使用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; } } –