KBoard 작성자에 운영자 표시하기

안녕하세요 케이보드를 이용하고있는 사용자입니다

 

게시판 리스트에 보면 N표시가 뜨는것처럼 리스트에 User Role Editor 플러그인으로 설정한 특정 등급에 대해

게시판 리스트 작성자 앞단에 "운영자"라고 스타일을 지정해서 백그라운드는 초록색에 테두리는 둥글게하여 표시하고싶습니다

게시글 내용의 작성자도 위와 동일하게 설정하고싶습니다

스킨은 기본스킨으로 적용해서 사용하고싶은데 가능할까요?

 

2018년 새해도 복많이 받으시길바랍니다~

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    kboard_user_display 필터를 사용하면 스킨 파일 수정 없이도 작성자 출력 부분을 편집할 수 있습니다.

    우선 아래 코드를 테마의 functions.php 파일에 추가해보세요.

    add_filter('kboard_user_display', 'my_kboard_user_display', 10, 5);
    function my_kboard_user_display($user_display, $user_id, $user_name, $plugin, $builder){
    	
    	if($user_id){
    		$user_info = get_userdata($user_id);
    		$user_display = '<i class="user-role-'.$user_info->roles[0].'"></i>' . $user_display;
    	}
    	
    	return $user_display;
    }

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 가능합니다.

     

    그 다음 CSS 코드도 추가를 해보세요.

    .user-role-administrator { display: inline-block; margin-right: 2px; width: 14px; height: 14px; background-color: #14c008; border-radius: 7px; vertical-align: middle; }

    워드프레스 관리자 -> 외모 -> 사용자 정의하기 -> CSS 입력 필드에 추가해주세요.

    administrator 기준의 코드이기 때문에 다른 역할(Role)의 경우에는 추가로 CSS 코드를 작성해주셔야 합니다.

     

    새해 복 많이 받으세요~!

    고맙습니다.

  • 답변 감사드립니다

    혹시 텍스트가 빠졌는데 "운영자"라는 텍스트도 함께 넣으려면 어떻게 해야하나요?

    지금은 초록색 동그라미만 표시되고있는데 약간긴 초록색 동그라미에 그안에 운영자라고 표시를 하고싶습니다

     

    아래의 코드처럼 시험해봤지만 특정유저가 아닌 전체유저한테 운영자라는 문구가 달려서 다시 원상복구했습니다

    $user_display = '<i class="user-role-'.$user_info->roles[0].'">운영자</i>' . $user_display;
  • CSS 코드를 다시 작성해봤습니다.

    .user-role-administrator { display: inline-block; margin-right: 3px; width: 46px; height: 16px; background-color: #14c008; border-radius: 8px; vertical-align: middle; }
    .user-role-administrator:after { display: block; content:'운영자'; font-size: 11px; color: white; }

    먼저 CSS 코드를 새로 추가해서 테스트 해보세요.

     

    CSS 대신 PHP 코드로 편집을 하시려면 아래 코드로 교체 후 다시 해보세요.

    add_filter('kboard_user_display', 'my_kboard_user_display', 10, 5);
    function my_kboard_user_display($user_display, $user_id, $user_name, $plugin, $builder){
    	
    	if($user_id){
    		$user_info = get_userdata($user_id);
    		
    		if($user_info->roles[0] == 'administrator'){
    			$user_display = '<i class="user-role-'.$user_info->roles[0].'">운영자</i>' . $user_display;
    		}
    	}
    	
    	return $user_display;
    }

    고맙습니다.

  • 정상적으로 작동합니다 딱 원하던 상태가되었습니다

    감사합니다!

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