숏코드에서 사용자의 권한을 알아보고 반응할 수 있도록

숏코드를 사용해서 HTML 테이블에 DB에 있는 데이터를 넣어 페이지에 띄우고 있습니다.

그런데 회원 등급/권한 에 따라 테이블에서 예를들어

1등급 : 다보임
2등급 

테이블 헤드 ㅣ 이름     ㅣ 나이 ㅣ   지명 ㅣ 학교 ㅣ 종교    ㅣ

                ㅣ 홍길동  ㅣ권한X ㅣ  서울 ㅣ  권한X ㅣ 기독교 ㅣ
이런식으로 테이블의 일부분이 권한이 없다고 가려지도록 하려고 하는데 어떻게 해야할까요?
1. 이용자의 권한을 구분...?

2.이용자의 권한에 따라 반응해서 다른 테이블 공개량이다르게..

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

    워드프레스는 역할과 권한이 나눠져 있습니다.

    자세한 설명은 아래 링크를 참고해주세요.

    https://codex.wordpress.org/Roles_and_Capabilities

     

    권한을 체크해서 특정 값을 보이거나 숨기시려면

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

    <table>
    	<tr>
    		<th>이름</th>
    		<th>나이</th>
    		<th>지명</th>
    	</tr>
    	<tr>
    		<td>홍길동</td>
    		<td>
    		<?php if(current_user_can('manage_options')):?>
    			23
    		<?php else:?>
    			권한없음
    		<?php endif?>
    		</td>
    		<td>안양</td>
    	</tr>
    </table>

    current_user_can 함수를 활용하시면 현재 접속한 사용자의 권한을 체크하실 수 있습니다.

    manage_options 권한은 기본적으로 관리자 이상의 역할에 있습니다.

    그렇기 때문에 관리자가 아닌 다른 사용자에게는 권한없음 문구가 표시됩니다.

     

    워드프레스 역할을 더 늘리고 역할들의 권한도 편집할 수 있습니다.

    관련된 여러 플러그인이 있지만 대표적인 플러그인으로 User Role Editor 플러그인이 있습니다.

    https://ko.wordpress.org/plugins/user-role-editor/

    고맙습니다.

  • 이름 나이 성별
    ㅇㅈ  
    ㅇㅂ  
    ㄷㅂ  

    나이부분이 권한없음 하나로 합쳐져서 보이게도 할수 있을까요?? 줄 없이 한셀로

    이름 ㅣ 나이 ㅣ 성별

    ㅇㅈㅣ          ㅣ남

    ㅇㅂㅣ  권한x  l 여

    ㄷㅂ ㅣ          ㅣ남

  • 안녕하세요.

    <td> 태그를 세로로 합쳐서 표시되게 하시려면 rowspan 속성을 이용해보시겠어요?

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

    <table>
    	<tr>
    		<th>이름</th>
    		<th>나이</th>
    		<th>지명</th>
    	</tr>
    	<tr>
    		<td>홍길동</td>
    		<?php if(current_user_can('manage_options')):?>
    		<td>
    			23
    		<?php else:?>
    		<td rowspan="3">
    			권한없음
    		<?php endif?>
    		</td>
    		<td>안양</td>
    	</tr>
    	<tr>
    		<td>닐손 주니어</td>
    		<?php if(current_user_can('manage_options')):?>
    		<td>31</td>
    		<?php endif?>
    		<td>서울</td>
    	</tr>
    	<tr>
    		<td>바그닝요</td>
    		<?php if(current_user_can('manage_options')):?>
    		<td>30</td>
    		<?php endif?>
    		<td>수원</td>
    	</tr>
    </table>

     

    아래 관련 링크도 참고해보시면 도움이 되실 듯합니다.

    https://www.w3schools.com/tags/att_td_rowspan.asp

    고맙습니다.

  • row span 이 테이블의 양이 달라서 그 양이 매일 달라지면 어떻게 할까요??

  • 테이블이 동적이라면,

    rowspan="3" 부분을 데이터를 불러온 만큼의 수로 적용해주시면 가능할 듯합니다.

    $count 변수에 데이터의 양을 저장한 후

    아래처럼 적용해보시겠어요?

    <td rowspan="<?php echo $count?>">

    고맙습니다.

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기