코스모스팜 스레드

코스모스팜 회원관리 폼 수정 및 자동로그인 체크 관련

안녕하세요.

코스모스팜 회원관리 플러그인에서 로그인 폼 모양을 변경하였더니 로그인 폼에서 체크 하여 자동로그인? 기능이 작동 안하는것 같아 문의 드립니다.

아래는 수정한 코드 입니다. 어떻게 하면 되는지 궁금합니다.

<?php if(!defined('ABSPATH')) exit;?>
<div class="cosmosfarm-members-form signin-form <?php echo $option->skin?>">
    <form method="post" action="<?php echo esc_url($login_action_url)?>">
        <input type="hidden" name="redirect_to" value="<?php echo esc_url($redirect_to)?>">
        <input type="hidden" name="a" value="login">
        <fieldset>
            <legend><?php echo __('Log In', 'cosmosfarm-members')?></legend>
            
            <?php if($option->allow_email_login):?>
            <!--<label for="log"><?php echo __('Email', 'cosmosfarm-members')?></label>-->
            <div class="div_text">
                <input name="log" type="text" id="log" class="username">
            </div>
            <?php else:?>
            <!--<label for="log"><?php echo __('Username', 'cosmosfarm-members')?></label>-->
            <div class="div_text">
                <input name="log" type="text" id="log" class="username" placeholder="ID" autocomplete=off>
            </div>
            <?php endif?>
            
            <!--<label for="pwd"><?php echo __('Password', 'cosmosfarm-members')?></label>-->
            <div class="div_text">
                <input name="pwd" type="password" id="pwd" class="password" placeholder="PASSWORD" autocomplete=off>
            </div>
            <div class="rememberme_div">
                <label><input name="rememberme" type="checkbox" id="rememberme" value="forever"><?php echo __('Remember me')?></label>
                </div>

            <?php if(get_cosmosfarm_members_profile_url()):?>
            <div class="link-text pwdreset">
                <a href="<?php echo add_query_arg(array('a'=>'pwdreset'), get_cosmosfarm_members_profile_url())?>"><?php echo __('Forgot your password?')?></a>
            </div>
            <?php endif?>

            <?php if(wp_registration_url()):?>
            <div class="cu-reg-button">
                <a href="<?php echo wp_registration_url()?>"><?php echo __('Register', 'cosmosfarm-members')?></a>
            </div>
            <?php endif?>
            
            <div class="login-button-div">                
                <input type="submit" class="buttons" value="<?php echo __('Log In', 'cosmosfarm-members')?>">
            </div>
            
            <?php echo cosmosfarm_members_social_buttons(array('redirect_to'=>$redirect_to))?>
            

        </fieldset>
    </form>
</div>

 

그리고 회원가입 페이지 모양을 변경 하고싶은데 로그인 폼처럼 정해진 파일이 있는지 궁금합니다.

 

무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)
무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)
  • 안녕하세요~^^

    본문에 코드를 올려주실 땐 반드시 에디터의 "코드 스니펫 삽입" 기능으로 삽입해주세요. 

    그렇지 않으면 코드가 이상해져서 에러 나는 코드로 바뀌거나

    질의응답 시 의사소통에 오해와 문제가 생길 수도 있기 때문입니다.

     

    올려주신 코드를 확인해보니 코드 상 자동 로그인 쪽에는 문제가 없는 듯합니다.

    실제로 올려주신 코드로 테스트해봐도 자동 로그인 기능이 정상적으로 동작되는 것을 확인했습니다.

     

    워드프레스 사이트에서 로그아웃을 했다면

    다시 로그인을 진행해주셔야 합니다.

     

    자동 로그인 기능은 브라우저에 저장된 데이터로 자동 로그인을 하며

    로그아웃 시에는 자동 로그인도 해제됩니다.

    사이트에서 로그인 후 로그아웃하지 않고 브라우저를 종료했을 때

    다시 해당 페이지로 접속했을 때 자동으로 로그인되는 기능입니다.

     

    또한 해당 기능이 브라우저 쿠키 기능을 사용하기 때문에

    브라우저에서 쿠키가 사용 가능한 상태여야 합니다.

     

    코스모스팜 회원관리 회원가입 페이지는

    WP-Members 플러그인 쪽의 회원가입 페이지 레이아웃을 활용하고 있습니다.

    WP-Members 쪽에서 회원가입 페이지를 별도의 파일로 적용하고 있지 않기 때문에

    필터로 수정을 해주셔야 합니다.

    아래 링크들을 참고해보시겠어요?

    워드프레스 회원가입 화면 디자인 수정 방법 - WP-Members 플러그인

    워드프레스 로그인 화면 디자인 수정 방법

    고맙습니다.

  • add_filter('wpmem_register_form_rows', 'my_register_form_rows_filter', 10, 2);
    function my_register_form_rows_filter($rows, $toggle){
    	
    	// 이렇게 기존 입력필드 정보를 새로 작성할 수 있습니다.
    	$rows['meta_key'] = array (
    		['order']        => 1,
    		['type']         => 'text',
    		['value']        => '',
    		['row_before']   => '',
    		['label']        => '<label for="option_name" class="text">Field Label</label>',
    		['field_before'] => '<div class="div_text">',
    		['field']        => '<input name="option_name" type="text" id="option_name" value="" class="textbox" />',
    		['field_after']  => '</div>',
    		['row_after']    => '',
    	)
    	
    	return $rows;
    }

    안내해주신 url보고 진해하려고 보니

    위의 예시를 보고 하려고 했으나 사용하니 싸이트가 먹통이 됩니다.

    아래 예시를 보고 하라고 했는데 이해가 되지 않아 남깁니다.

    제가 하려고 하는 것은 라벨을 없에고 플레이스 홀더를 넣으려고 하고있습니다.

    플레이스 홀더는 wp-member 플러그인에 플레이스 홀더 기능을 써서 입력하였고 이제 라벨만 제거 하려고 하는데 위 코드를 적용시켜 라벨만 지우면 될것 같은데 되지않아 다시 질문 남깁니다.

  • 저희 블로그에 올려둔 코드에 버그가 있어서 수정해두었습니다.

    단순히 라벨만 지우면 되는지요?

    아래의 코드를 활용해보시겠어요?

    add_filter('wpmem_register_form_rows', 'my_register_form_rows_filter', 10, 2);
    function my_register_form_rows_filter($rows, $toggle){
    	$rows['meta_key']['label'] = '';
    	
    	return $rows;
    }

    위의 코드에서 meta_key 부분은 실제 회원가입 페이지에 표시된 필드의 메타키로 적용해보시겠어요?

    회원가입 페이지 입력 필드 메타키는

    워드프레스 관리자 -> 설정 -> WP-Members -> 필드 페이지에서 확인하실 수 있습니다.

    고맙습니다.

  • 답변 감사합니다.

    위 코드 적용하였더니 매우 잘 됩니다.

    정말 감사드립니다!

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)