안녕하세요?
마이페이지에서 사용자의 등급을 닉네임 앞에 출력하고싶습니다.
예를들어 사용자 이름이 user고 등급이 admin 이라면
admin user
로 출력되게 하고싶습니다.
wpmem_register_links_args
해당 훅을 Cosmosfarm_Members_Page_Builder.class 에 202번째 라인부터
참고하여 사용하고자 했으나 원하는데로 작동하질 않네요.
좋은 방법있으면 알려주시면 감사하겠습니다.
안녕하세요~^^
코스모스팜 회원관리 플러그인 회원정보 페이지 편집은
wpmem_register_links_args 필터가 아닌
wpmem_member_links_args 필터를 활용해보시겠어요?
회원정보 페이지에 표시되는 사용자 이름은
워드프레스 공개적으로 표시할 이름을 활용하고 있습니다.
워드프레스 관리자 -> 사용자 -> 나의 프로필 페이지에서
공개적으로 표시할 이름 설정이 display_name입니다.
워드프레스는 공개적으로 표시할 이름을 아이디, 닉네임, 이메일 등으로 선택해서 사용할 수 있도록 되어있습니다.
공개적으로 표시할 이름 앞에 역할을 표시하시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_filter('wpmem_member_links_args', 'my_wpmem_member_links_args', 999, 1);
function my_wpmem_member_links_args($args){
$current_user = wp_get_current_user();
$role = $current_user->roles[0];
$args['wrapper_before'] = '<div class="cosmosfarm-members-form">';
$args['wrapper_before'] .= '<div class="profile-header"><form id="cosmosfarm_members_avatar_form" method="post" enctype="multipart/form-data">';
$args['wrapper_before'] .= wp_nonce_field('cosmosfarm_members_avatar', 'cosmosfarm_members_avatar_nonce');
$args['wrapper_before'] .= '';
$args['wrapper_before'] .= '<div class="avatar-img"><label for="cosmosfarm_members_avatar_file" title="'.__('Change Avatar', 'cosmosfarm-members').'">'.get_avatar(get_current_user_id(), '150').'<p class="change-avatar-message">'.__('Change Avatar', 'cosmosfarm-members').'</p><input type="file" name="cosmosfarm_members_avatar_file" id="cosmosfarm_members_avatar_file" multiple="false" accept="image/*" onchange="cosmosfarm_members_avatar_form_submit(this)"></label></div>';
$args['wrapper_before'] .= '<div class="display-name">'.$role.' '.$current_user->display_name.'</div>';
$args['wrapper_before'] .= '</form></div>';
$args['wrapper_before'] .= '<ul class="members-link">';
return $args;
}
고맙습니다.