반응형
로그인 재연결 후 wocommerce
나의 우커머스 로그인 양식 성공적인 로그인은 내가 했던 쇼핑 페이지로의 리다이렉션입니다.
그리고 로그인 오류 후에는 동일한 페이지가 되어야 하지만 /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;
}
}
도와주실 수 있나요?
로그인 후 리디렉션하려는 경우:
<?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 );
로그인/로그아웃을 위해 리디렉션됩니다.
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;
}
언급URL : https://stackoverflow.com/questions/29342186/woocommerce-after-login-redirect
반응형
'programing' 카테고리의 다른 글
저장 프로시저에서 파라미터를 검색하시겠습니까? (0) | 2023.11.04 |
---|---|
셸 스크립트를 사용하여 여러 MySQL 명령을 실행하는 더 나은 방법 (0) | 2023.11.04 |
기본 게시물의 영구 링크를 변경하는 방법? (0) | 2023.11.04 |
C Macro - 정수 값을 문자열 리터럴로 가져오는 방법 (0) | 2023.11.04 |
MySQL에서 JOIN 쿼리의 반환 결과를 제한하는 방법 (0) | 2023.11.04 |