워드프레스 사용자 아바타와 등급 숏코드 적용하기

안녕하세요

요즘 사이드에 적용시킬 로그인창과 로그인후 나오는 회원정보를 만들어보고있는데요

로그인창은 스레드봇님의 도움을 받아 아래의 로그인창을 만드는것에 성공했습니다

 

그다음 회원정보창을 만들어보려고하는데요

현재 적용된 회원정보창입니다

 

위의 스크린샷 모두 사이트 어느 페이지를 가던지 사이드에 적용되어서 나오는데요 이건 위젯이아닌 코드를 입력한것입니다

테마의 페이지 에디터 프로그램을 사용해서 회원정보와 로그아웃 메뉴를 만들었고 myCRED의 랭크 로고와 포인트는 위젯을 숏코드로 만드들어서 삽입했습니다

 

여기서 몇가지 질문이있습니다

아바타, 회원아이디, 회원이메일 표시를 숏코드로 변경 시켜서 만들수있는건가요?

예를들어 테마 functions.php 파일에 숏코드를 등록해서 사용하는데 그쪽에다가 아바타, 회원아이디, 회원이메일 따로따로 표시할수있는 숏코드를 등록가능한가요?

그 숏코드를 등록하여서 아래와같은 이미지를 만들고싶은데 어떻게 방법이있는건지 궁금합니다

아래는 위처럼 만든 이유입니다

1. 아바타 : 아바타는 현재 사이트에 왜있는건지 모를정도로 사용도가 매우매우 낮습니다

사유는 아바타를 표시할곳이없습니다 포럼원 게시글목록에 조그만하게 표시되어있는게 노출의 전부입니다

게시글마다 글쓴이의 성명과 게시글에서 아이디클릭시 이동하는 회원프로필도없어서 아바타 사용이 무의미합니다

그래서 아바타를 회원정보에 표시를 해주면 그나마 사람들이 관심을 가지지 않을까 생각됩니다

 

2. 회원아이디, 회원 이메일 : 아이디와 이메일은 자신이 어떤것으로 로그인했는지 보여주고싶고 기본적인 정보라고 생각해서 적용해봤습니다

 

3. 나의 역할 : User Role Editor 플러그인을 사용해서 역할을 많이 분류하였거나 혹은 그냥 안사용해도 "편집자" "관리자" "구독자" 등등 자신의 역할을 알수있도록 해봤습니다

 

4. 나의 포인트 등급 : 이점은 지금도 삽입할수있는데요 랭크를 부여해서 포인트를 얻으면 등급이 올라가고 자동적으로 로고가 변경하게 설정해논상태입니다 그에 따른 자신의 등급 로고를 알수있도록 해봤습니다

 

5. 나의 포인트 : 현재 자신이 가지고있는 포인트를 알수있게합니다 자신의 포인트가 표시되어야만 게시글을 올려서 자신의 포인트가 플러스 마이너스가 되는 과정을 눈으로 확인할수있기때문입니다

 

긴글읽어주셔서 감사합니다

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    아바타, 아이디, 이메일을 출력하는 숏코드를 만들어봤습니다.

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

    add_shortcode('test_user_info', 'test_user_info_shortcode');
    function test_user_info_shortcode($atts){
    	ob_start();
    	
    	$atts = shortcode_atts(array('user_id' => get_current_user_id()), $atts);
    	$user = new WP_User($atts['user_id']);
    	
    	if($user->ID): ?>
    		<style>
    		.test-user-info { display: table; width: 100%; }
    		.test-user-info .test-user-info-left { display: table-cell; vertical-align: middle; }
    		.test-user-info .test-user-info-left img { border: 0; min-width: 0; max-width: 100%; }
    		.test-user-info .test-user-info-right { display: table-cell; vertical-align: middle; }
    		.test-user-info .test-user-info-right .test-user-info-right-row { }
    		.test-user-info .test-user-info-right .test-user-info-right-row { }
    		</style>
    		<div class="test-user-info">
    			<div class="test-user-info-left"><?php echo get_avatar($atts['user_id'], 96)?></div>
    			<div class="test-user-info-right">
    				<div class="test-user-info-right-row"><?php echo $user->user_login?> (<?php echo $user->display_name?>)</div>
    				<div class="test-user-info-right-row"><?php echo $user->user_email?></div>
    			</div>
    		</div>
    	<?php endif;
    	
    	return ob_get_clean();
    }

     

    그 다음 원하시는 위치에 아래 숏코드를 추가해보세요.

    [test_user_info]

     

    아바타는 워드프레스 기본 기능입니다.

    글(블로그 포스팅) 또는 댓글에 작성자와 함께 표시되도록 하는 사용자 이미지입니다.

    마찬가지로 KBoard(케이보드) 에서도 게시글과 댓글 쪽에 표시를 하고 있습니다.

     

    커뮤니티 사이트를 제대로 만들 수 있도록 저희 제품들을 점진적으로 업데이트하고 있습니다.

    원하시는 기능들 꼭 추가해서 업데이트하도록 하겠습니다.

    고맙습니다.

  • 감사합니다 적용시켰습니다 정말 잘작동합니다

    혹시 나의 역할은 User Role Editor에 물어봐야하나요?

    항상 친절한 답변 감사드립니다

  • 사용자 역할을 출력하는 숏코드도 만들어봤습니다.

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

    add_shortcode('display_user_role', 'display_user_role_shortcode');
    function display_user_role_shortcode($atts){
    	ob_start();
    	
    	$atts = shortcode_atts(array('user_id' => get_current_user_id()), $atts);
    	$user = new WP_User($atts['user_id']);
    	
    	if($user->ID){
    		load_textdomain('default', WP_LANG_DIR . '/admin-' . get_locale() . '.mo');
    		echo translate_user_role($GLOBALS['wp_roles']->role_names[$user->roles[0]], 'User role');
    	}
    	
    	return ob_get_clean();
    }

     

    그 다음 원하시는 위치에 아래 숏코드를 추가해보세요.

    [display_user_role]

     

    고맙습니다.

  • 아, 저도 찾던 내용인데 있네요

    감사히 활용하겠습니다.

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