안녕하세요, 회원관리 플러그인을 사용하고 있습니다.
(로그인전) 로그인이 필요한 페이지 접근 시 로그인 디자인이 현재 테마에서 제공하는 로그인 화면이 나올때가 있습니다.
사이트내에서 이뤄지는 모든 로그인의 화면을 회원관리 플러그인의 것으로 변경이 가능할까요?
우커머스 쪽 내 계정 페이지 로그인 레이아웃 대신
코스모스 팜 회원관리 쪽 로그인 레이아웃이 표시되는 건
저희도 연구를 해봐야 할 듯합니다.
좋은 방법을 찾게 되면 다시 안내해드리겠습니다.
고맙습니다.
회원만 상품을 구매할 수 있도록 설정하셨는지요?
비회원으로 상품 구매 시 우커머스 쪽 로그인 레이아웃대신
코스모스팜 회원관리 플러그인의 로그인 레이아웃을 표시하시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해서 확인해보시겠어요?
remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_login_form', 10 );
add_action('woocommerce_before_checkout_form', 'my_woocommerce_checkout_login_form', 999);
function my_woocommerce_checkout_login_form(){
if(!is_user_logged_in()){
global $post;
$option = get_cosmosfarm_members_option();
$redirect_to = isset($_REQUEST['redirect_to']) ? $_REQUEST['redirect_to'] : '';
if(!$redirect_to && $post->ID == $option->login_page_id){
$redirect_to = home_url();
}
else if(!$redirect_to){
$redirect_to = get_permalink();
}
$redirect_to = apply_filters('cosmosfarm_members_login_redirect_to', $redirect_to);
$login_action_url = remove_query_arg(array('verify_email_confirm', 'register_success', 'login_timeout'));
include_once COSMOSFARM_MEMBERS_DIR_PATH . "/skin/{$option->skin}/login-form.php";
}
}
고맙습니다.
아, 죄송합니다. 테마에는 별도의 옵션이 없었고, 위 코드를 적용해도 변하지 않아 잠시 생각해보니, 워드프레스 로그인 화면이 아니라 우커머스 주문 페이지 접근 시 나타나는 로그인 화면이니 우커머스의 로그인 화면인 것 같습니다. 우커머스도 가능할까요?
안녕하세요~^^
login_url 필터를 사용하시면 워드프레스 로그인 페이지 주소를 수정하실 수 있습니다.
테마 쪽에서도 login_url 필터를 사용해서 테마 쪽 로그인 페이지 주소로 적용한다면
테마 쪽 로그인 페이지가 표시될 수도 있습니다.
테마에 로그인 페이지를 비활성화할 수 있는 설정이 있는지 확인해보시겠어요?
테마 쪽에서 설정으로 지원하지 않는다면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_filter('login_url', 'my_login_url', 999, 2);
function my_login_url($login_url, $redirect_to){
if(!is_admin()){
$cosmosfarm_members = new Cosmosfarm_Members();
$option = get_cosmosfarm_members_option();
if(isset($_GET['redirect_to']) && $_GET['redirect_to']){
$redirect_to = '';
}
else if($option->login_page_id == get_the_ID()){
$redirect_to = '';
}
else if(wpmem_login_url() == get_permalink()){
$redirect_to = '';
}
$redirect_to = $cosmosfarm_members->login_redirect($redirect_to);
if($option->login_page_id || $option->login_page_url){
if($option->login_page_id){
if($redirect_to){
$login_url = add_query_arg(array('redirect_to'=>urlencode($redirect_to)), get_permalink($option->login_page_id));
}
else{
$login_url = get_permalink($option->login_page_id);
}
}
else if($option->login_page_url){
if($redirect_to){
$login_url = add_query_arg(array('redirect_to'=>urlencode($redirect_to)), $option->login_page_url);
}
else{
$login_url = $option->login_page_url;
}
}
}
else if(wpmem_login_url()){
$login_url = wpmem_login_url($redirect_to);
}
}
return $login_url;
}
고맙습니다.