kboard 관리자 페이지에서 칼럼 목록을 추가하려고 합니다. 방법 좀 알려주세요..

홈페이지에서 회원가입한 목록의 일부를 회원 구매신청자 kboard 게시판 관리자 페이지에서 목록을 추가해서 사용을 하려고 합니다. 어떻게 해야 될까요?

 

회원가입폼 화면

회원가입 (ourenglishcafeacademy.com)

 

회원구매신청 화면

회원구매신청 화면

 

회원구매신청 관리자 페이지 화면

회원구매신청 관리자 페이지 화면

 

회원가입 페이지에 있는 목록 중 직장구분과 회원가입한 "가입일"을 회원구매신청 관리자 페이지 화면에 추가를 하려고 합니다. 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    KBoard 게시글 정보에 회원가입 시 입력한 정보를 입력하고 싶다는 말씀이신지요?

    KBoard 입력 필드를 활용해서 회원가입 시 입력한 정보를 추가하실 수 있습니다.

     

    KBoard 플러그인에서 입력 필드를 추가하는 방법은

    아래의 링크들을 참고 부탁드립니다.

    KBoard(케이보드) 게시판에 새로운 필드 추가하기
    워드프레스 게시판 KBoard(케이보드) 새로운 입력 필드 추가 방법 (커스터마이징)

     

    워드프레스 wp_get_current_user 함수를 사용하시면

    현재 로그인한 사용자의 정보를 확인할 수 있습니다.

    아래 링크도 확인해보시겠어요?

    https://www.cosmosfarm.com/threads/document/44306

    고맙습니다.

  • 워드프레스 사용자 역할을 변경하시려면

    워드프레스 WP_User 클래스의 remove_role 메소드와  add_role 메소드를 활용해주셔야 합니다.

    페이지 새로고침 없이 코드가 실행되게 하시려면

    아래 페이지를 참고해서 워드프레스에 ajax 액션을 추가해보세요.

    https://codex.wordpress.org/ko:플러그인에서_AJAX_구현

    고맙습니다.

  • 아니면 정회원 구매신청 관리페이지(kboard게시판 default스킨) 에서 회원리스트의 칼럼 중 역할을 클릭하면 회원관리페이지의 리스트와 연결이 되어 수정할 수 있게 하려면 어떻게 헤야 할까요??

  • 말씀하신 회원관리페이지의 리스트는 어떤 페이지를 말씀하시는 건지요?

    워드프레스 사용자 역할은

    워드프레스 관리자 -> 사용자 -> 모든 사용자 페이지에서 변경하실 수 있습니다.

    워드프레스 사용자 페이지는

    아래의 코드로 링크를 추가하실 수 있습니다.

    <a href="<?php echo admin_url('users.php')?>">사용자 페이지</a>

    고맙습니다.

  • 정회원 구매신청 관리페이지라고 해서 kboard에서 정회원 구매신청을 하신 회원분들의 리스트를 관리하고 있습니다. 

    여기에서 여러가지 칼럼을 추가해서 리스트를 활용하고 있습니다. 

    그런데 칼럼 중에 역할(role)이 있는데요... 이건 사용자 페이지에 역할(구독자, 기여자 등) 과 같습니다. 

    그래서 사용자 페이지로 왔다 갔다하기가 불편해서 정회원 구매신청 관리페이지에서 직접 역할을 수정하던지 아니면 역할에서 구독자를 클릭하면 사용자 페이지의 본인의 회원정보로 직접 이동을 하게 하려는 것입니다. 

    이미지파일 참조

  • KBoard 게시판 쪽에서 역할을 수정하시려면

    이전 댓글에 안내해드린 방법을 참고해서 코드를 작성해주셔야 합니다.

    워드프레스 사용자 편집 페이지로 이동되게 하시려면

    아래의 코드를 활용해보세요.

    <a href="<?php echo admin_url("user-edit.php?user_id={$content->member_uid}")?>">사용자 페이지</a>

    고맙습니다.

  • 감사합니다. 도움이 많이 되었습니다. ^^ 

  • 말씀하신 회원관리페이지의 리스트는 어떤 페이지를 말씀하시는 건지요?

    워드프레스 사용자 역할은

    워드프레스 관리자 -> 사용자 -> 모든 사용자 페이지에서 변경하실 수 있습니다.

    워드프레스 사용자 페이지는

    아래의 코드로 링크를 추가하실 수 있습니다.

    <a href="<?php echo admin_url('users.php')?>">사용자 페이지</a>

    고맙습니다.

     

    이렇게 알려주신 내용에서요... 사용자 페이지에서 해당 사용자의 목록만 볼 수 있도록 하려면 어떻게 수정을 해야할까요??

  • 아래의 코드를 활용하시면 워드프레스 사용자 페이지에서

    사용자를 검색하는 것과 동일한 결과를 얻으실 수 있습니다.

    <a href="<?php echo admin_url("users.php?s={$content->member_display}")?>">사용자 페이지</a>

    활용해보시겠어요?

    고맙습니다.

  • 워드프레스 사용자 역할을 kboard 게시글 목록으로 불러왔을 때 불러온 곳에서도 역할을 변경할 수 있도록 할 수 있나요?

    그렇게 하려면 어떻게 코드를 수정해야할까요??

  • 워드프레스 사용자 역할을 변경할 경우

    워드프레스에서 이전 역할을 별도로 저장하지 않고 있습니다.

    만약, 역할 변경 히스토리 기능이 필요하신 경우라면

    별도로 프로그램을 제작해주셔야 할 듯합니다.

    고맙습니다.

  • 그리고요.. 혹시 role에서 권한을 변경할 경우 변경한 날짜가 기록에 남나요?? 남는다면 그 변경한 날짜는 리스트로 어떻게 불러올 수 있나요??

  • 회원가입 시 입력한 정보를 KBoard 게시글에도 저장하는 게 아니라

    단순히 표시를 하고 싶으신 건지요?

    WP_User 클래스를 활용하시면 사용자 정보를 가져올 수 있습니다.

    자세한 내용은 아래 링크를 참고해보세요.

    https://developer.wordpress.org/reference/classes/wp_user/

     

    KBoard 게시글 목록은

    FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/list.php 파일에서 표시하고 있습니다.

    list.php 파일에서 WP_User 클래스의 사용자 id는 $content->member_uid 코드를 활용해보시겠어요?

    고맙습니다.

  • 아래처럼 get_userdata 함수를 사용할 수도 있습니다.

    $userdata = get_userdata($content->member_uid);
    $registered = $userdata->user_registered;
    echo $registered;

    고맙습니다.

  • 기존에 코드가 아래와 같은데요..

    가입일(메타키 = user_registered)과 직업구분(메타키 = acount001)을 이메일 목록 뒤에 추가를 하려하는데요..

    알려주신 방법으로 잘 안되서요.. 

    조금 자세히 설명 부탁드립니다. 감사합니다. 

     

     

    <<<기존 list.php 파일 >>>

    <!-- 리스트 시작 -->
        <div class="kboard-list">
            <table>
                <thead>
                    <tr>
                        <td class="kboard-list-uid"><?php echo __('Number', 'kboard')?></td>
                        <td class="kboard-list-title"><?php echo __('Title', 'kboard')?></td>

                        <?php if($board->isAdmin() && $board->id == '129'):?>
                        <td class="kboard-list-name1">작성자이름</td>
                        <?php endif?>

                        <td class="kboard-list-user"><?php echo __('Author', 'kboard')?></td>

                        <?php if($board->isAdmin() && $board->id == '129'):?>
                        <td class="kboard-list-name2">입금자이름</td>
                        <?php endif?>

                        <?php if($board->isAdmin() && $board->id == '129'):?>
                        <td class="kboard-list-name0">아이디</td>
                        <?php endif?>

                        <?php if($board->isAdmin() && $board->id == '129'):?>
                        <td class="kboard-list-name0">이메일주소</td>
                        <?php endif?>                    
            
                        <td class="kboard-list-date"><?php echo __('Date', 'kboard')?></td>
                        <td class="kboard-list-view"><?php echo __('Views', 'kboard')?></td>
                    </tr>
                </thead>
                <tbody>
                    <?php while($content = $list->hasNextNotice()):?>
                    <tr class="kboard-list-notice<?php if($content->uid == kboard_uid()):?> kboard-list-selected<?php endif?>">
                        <td class="kboard-list-uid"><?php echo __('Notice', 'kboard')?></td>
                        <td class="kboard-list-title">
                            <a href="<?php echo $url->getDocumentURLWithUID($content->uid)?>">
                                <div class="kboard-default-cut-strings">
                                    <?php if($content->isNew()):?><span class="kboard-default-new-notify">New</span><?php endif?>
                                    <?php if($content->secret):?><img src="<?php echo $skin_path?>/images/icon-lock.png" alt="<?php echo __('Secret', 'kboard')?>"><?php endif?>
                                    <?php echo $content->title?>
                                    <span class="kboard-comments-count"><?php echo $content->getCommentsCount()?></span>
                                </div>
                            </a>
                            <div class="kboard-mobile-contents">
                                <span class="contents-item kboard-user"><?php echo apply_filters('kboard_user_display', $content->member_display, $content->member_uid, $content->member_display, 'kboard', $boardBuilder)?></span>
                                <span class="contents-separator kboard-date">|</span>
                                <span class="contents-item kboard-date"><?php echo $content->getDate()?></span>
                                <span class="contents-separator kboard-vote">|</span>
                                <span class="contents-item kboard-vote"><?php echo __('Votes', 'kboard')?> <?php echo $content->vote?></span>
                                <span class="contents-separator kboard-view">|</span>
                                <span class="contents-item kboard-view"><?php echo __('Views', 'kboard')?> <?php echo $content->view?></span>
                            </div>
                        </td>
                        <?php if($board->isAdmin() && $board->id == '129'):?>
                        <td class="kboard-list-name1"><?php echo $content->option->app_name?></td>
                        <?php endif?>

                        <?php if($board->isAdmin() && $board->id == '129'):?>
                        <td class="kboard-list-name2"><?php echo $content->option->bank_name?></td>
                        <?php endif?>

                        <?php if($board->isAdmin() && $board->id == '129'):?>
                        <td class="kboard-list-name0"><?php echo $content->option->user_name?></td>
                        <?php endif?>

                        <?php if($board->isAdmin() && $board->id == '129'):?>
                        <td class="kboard-list-name0"><?php echo $content->option->mail?></td>
                        <?php endif?>
                                
                        <td class="kboard-list-date"><?php echo $content->getDate()?></td>
                        <td class="kboard-list-view"><?php echo $content->view?></td>
                    </tr>
                    <?php endwhile?>
                    <?php while($content = $list->hasNext()):?>
                    <tr class="<?php if($content->uid == kboard_uid()):?>kboard-list-selected<?php endif?>">
                        <td class="kboard-list-uid"><?php echo $list->index()?></td>
                        <td class="kboard-list-title">
                            <a href="<?php echo $url->getDocumentURLWithUID($content->uid)?>">
                                <div class="kboard-default-cut-strings">
                                    <?php if($content->isNew()):?><span class="kboard-default-new-notify">New</span><?php endif?>
                                    <?php if($content->secret):?><img src="<?php echo $skin_path?>/images/icon-lock.png" alt="<?php echo __('Secret', 'kboard')?>"><?php endif?>
                                    <?php echo $content->title?>
                                    <span class="kboard-comments-count"><?php echo $content->getCommentsCount()?></span>
                                </div>
                            </a>
                            <div class="kboard-mobile-contents">
                                <span class="contents-item kboard-user"><?php echo apply_filters('kboard_user_display', $content->member_display, $content->member_uid, $content->member_display, 'kboard', $boardBuilder)?></span>
                                <span class="contents-separator kboard-date">|</span>
                                <span class="contents-item kboard-date"><?php echo $content->getDate()?></span>
                                <span class="contents-separator kboard-vote">|</span>
                                <span class="contents-item kboard-vote"><?php echo __('Votes', 'kboard')?> <?php echo $content->vote?></span>
                                <span class="contents-separator kboard-view">|</span>
                                <span class="contents-item kboard-view"><?php echo __('Views', 'kboard')?> <?php echo $content->view?></span>
                            </div>
                        </td>
                        <?php if($board->isAdmin() && $board->id == '129'):?>
                        <td class="kboard-list-name1"><?php echo $content->option->app_name?></td>
                        <?php endif?>

                        <td class="kboard-list-user">
                        <?php echo apply_filters('kboard_user_display', $content->member_display, $content->member_uid, $content->member_display, 'kboard', $boardBuilder)?></td>

                        <?php if($board->isAdmin() && $board->id == '129'):?>
                        <td class="kboard-list-name2"><?php echo $content->option->bank_name?></td>
                        <?php endif?>

                        <?php if($board->isAdmin() && $board->id == '129'):?>
                        <td class="kboard-list-name0"><?php echo $content->option->user_name?></td>
                        <?php endif?>

                        <?php if($board->isAdmin() && $board->id == '129'):?>
                        <td class="kboard-list-name0"><?php echo $content->option->mail?></td>
                        <?php endif?>        

                        <td class="kboard-list-date"><?php echo $content->getDate()?></td>
                        <td class="kboard-list-view"><?php echo $content->view?></td>
                    </tr>
                    <?php $boardBuilder->builderReply($content->uid)?>
                    <?php endwhile?>
                </tbody>
            </table>
        </div>
        <!-- 리스트 끝 -->

  • 프로그램 코드를 올려야 할 경우 에디터의 코드 스니펫 삽입 기능을 사용해주세요.

    회원가입일을 게시판에 표시하시려면

    올려주신 코드 중 아래의 코드를 찾아서

    <?php if($board->isAdmin() && $board->id == '129'):?>
    <td class="kboard-list-name0">이메일주소</td>
    <?php endif?>

    찾은 코드 밑에 아래의 코드를 추가해보세요.

    <?php if($board->isAdmin() && $board->id == '129'):?>
    <td class="kboard-list-name0">가입일</td>
    <?php endif?>

     

    아래의 코드를 모두 찾아서

    <?php if($board->isAdmin() && $board->id == '129'):?>
    <td class="kboard-list-name0"><?php echo $content->option->mail?></td>
    <?php endif?>

    찾은 코드 밑에 아래의 코드를 추가해보세요.

    <?php if($board->isAdmin() && $board->id == '129'):?>
    	<td class="kboard-list-name0">
    	<?php
    	$userdata = get_userdata($content->member_uid);
    	$registered = $userdata->user_registered;
    	echo $registered;
    	?>
    	</td>
    <?php endif?>

    고맙습니다.

  • 감사합니다. 자세히 알려주신 내용 덕분에 하나를 해결이 되었습니다.

     

    그리고 역할(구독자, 기여자 등)의 회원 권한 칼럼을 차가하려면 어떻게 해야하는지 문의를 드립니다. ^^

     

     

  • list.php 파일에서 아래의 코드를 활용하시면

    게시글 작성자의 워드프레스 역할을 추가하실 수 있습니다.

    <?php
    $userdata = get_userdata($content->member_uid);
    $role = isset($userdata->roles[0]) ? $userdata->roles[0] : '';
    foreach(wp_roles()->roles as $role_key=>$role_details){
    	if($role_key == $role){
    		echo _x($role_details['name'], 'User role');
    	}
    }
    ?>

    코드 활용해보시겠어요?

    고맙습니다.

  • 감사합니다. ^^

  • ㅎㅎ 감사합니다. ^^

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기