登录重定向后的woocommerce
Posted
技术标签:
【中文标题】登录重定向后的woocommerce【英文标题】:woocommerce after login redirect 【发布时间】:2015-06-03 05:32:36 【问题描述】:我在我的 woocommerce 登录表单中成功登录它是重定向到我所做的商店页面,
登录错误后它应该是同一页面,但它进入/wp-login.php。我得到了一些代码,但是当我输入错误的用户名或密码时它正在工作,但是当我输入空的用户名或密码时它正在运行/ wp-login.php.
这里是代码
function my_front_end_login_fail( $username,$password )
$referrer = $_SERVER['HTTP_REFERER'];
if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') )
wp_redirect( $referrer . '?login_failed=failed' );
exit;
你能帮帮我吗?
【问题讨论】:
【参考方案1】:登录/注销重定向
add_filter('woocommerce_login_redirect', 'login_redirect');
function login_redirect($redirect_to)
return home_url();
add_action('wp_logout','logout_redirect');
function logout_redirect()
wp_redirect( home_url() );
exit;
【讨论】:
【参考方案2】:如果你想在登录后重定向:
<?php
/**
* Redirect users to custom URL based on their role after login
*
* @param string $redirect
* @param object $user
* @return string
*/
function wc_custom_user_redirect( $redirect, $user )
// Get the first of all the roles assigned to the user
$role = $user->roles[0];
$dashboard = admin_url();
$myaccount = get_permalink( wc_get_page_id( 'shop' ) );
if( $role == 'administrator' )
//Redirect administrators to the dashboard
$redirect = $dashboard;
elseif ( $role == 'shop-manager' )
//Redirect shop managers to the dashboard
$redirect = $dashboard;
elseif ( $role == 'editor' )
//Redirect editors to the dashboard
$redirect = $dashboard;
elseif ( $role == 'author' )
//Redirect authors to the dashboard
$redirect = $dashboard;
elseif ( $role == 'customer' || $role == 'subscriber' )
//Redirect customers and subscribers to the "My Account" page
$redirect = $myaccount;
else
//Redirect any other role to the previous visited page or, if not available, to the home
$redirect = wp_get_referer() ? wp_get_referer() : home_url();
return $redirect;
add_filter( 'woocommerce_login_redirect', 'wc_custom_user_redirect', 10, 2 );
【讨论】:
感谢 Sandeep,此代码在登录重定向后显示,但我想在登录错误后重定向,我的代码适用于错误的用户名和密码,但空的用户名和密码不起作用.. 好吧,你的问题是如果用户没有填写用户名和密码,你想将用户重定向到商店页面。 No sandeep,通常在 woocommerce 中,如果我们输入错误的用户名和密码,它会进入 www.websitename/wp-login.php 并显示错误消息,登录客户不喜欢去 www.websitename /wp-login.php 而不是该链接我想显示带有错误消息的同一页面,该代码(页面顶部)仅在我们输入错误的用户名或密码时才有效,如果我们提供空白用户名或密码,它是去wp-login.php,你能理解我的问题吗...以上是关于登录重定向后的woocommerce的主要内容,如果未能解决你的问题,请参考以下文章
成功登录后的 Node.js Express 无限重定向循环
Spring security - 身份验证后的 GWT 重定向
获得权限后的 Facebook 登录让 Safari 空白页面打开,而不是在 iOS 10 和 iOS 11 中重定向到我的应用