작성자 닉네임으로 나오게 하기 채택완료
</p><p> <?php if($is_show_field['writer']){ // 게시판 설정 중 작성자 체크가 되어 있으면 ?></p><p> <td class="td_name sv_use wr_writer"><?php echo $list[$i]['name'] ?></td></p><p>
wp-members 플러그인 사용중입니다.
아이디가 아닌 닉네임으로 나오게 하고 싶은데 어떻게 바꿔줘야 하나요?
wp-members 추가필드 닉네임값 불러오고 싶은데 꼭 좀 답변부탁드려요! ㅠㅠ

답변 3개
/lib/common.lib.php
안에 아래와같은 소스가있어요 참고하세요
// 회원 정보를 얻는다.
function get_member($mb_id, $fields='*')
{
global $g5;
return sql_fetch(" select $fields from {$g5['member_table']} where mb_id = TRIM('$mb_id') ");
}
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
질문한 내용의 소스에 보면
</p><p>$member_array = apply_filters( 'g5_get_member', wp_parse_args($member_meta, $member_array) ); </p><p>
가 있습니다.
워드프레스 add_filter 함수를 이용해서 위의 값을 바꿀수 있습니다.
예 )
</p><p>add_filter('<span style="font-size: 14.6667px; line-height: 1.5;">g5_get_member</span><span style="font-size: 11pt; line-height: 1.5;">', 'custom_</span><span style="font-size: 14.6667px; line-height: 1.5;">g5_get_member</span><span style="font-size: 11pt; line-height: 1.5;">');</span></p><p><span style="font-size: 11pt; line-height: 1.5;"> </span></p><p><span style="font-size: 11pt; line-height: 1.5;">function </span><span style="font-size: 11pt; line-height: 1.5;">custom_</span><span style="font-size: 14.6667px; line-height: 1.5;">g5_get_member(</span><span style="font-size: 14.6667px; line-height: 1.5;">$member_array</span><span style="font-size: 14.6667px; line-height: 1.5;">){</span></p><p><span style="font-size: 14.6667px; line-height: 1.5;"> </span></p><p><span style="font-size: 14.6667px; line-height: 22px;">$member_array['user_display_name'] = '바꾸고싶은값';</span> </p><p><span style="font-size: 14.6667px; line-height: 1.5;"> </span></p><p><span style="font-size: 14.6667px; line-height: 22px;">return </span><span style="font-size: 14.6667px; line-height: 1.5;">$member_array;</span></p><p><span style="font-size: 14.6667px; line-height: 1.5;">}</span></p><p><span style="font-size: 14.6667px; line-height: 1.5;">
위의 코드에서 바꾸고 싶은값에 wp-members 에 지정했던 닉네임 값으로 바꾸면 됩니다.
댓글을 작성하려면 로그인이 필요합니다.
소스를 참고하라는 겁니다
예를 들면
DB 즉
회원 관리 table 에 닉네임값 과 아이디 값이 이 있습니다.
그리고 게시판 table 아이디값만 있고 닉네임값은 없습니다
이때에 게시판나에 닉네임을 불러오고싶은게 질문인데,,
// 회원 정보를 얻는다.
function get_member($mb_id, $fields='*')
{
global $g5;
return sql_fetch(" select $fields from {$g5['member_table']} where mb_id = TRIM('$mb_id') ");
}
를 참고하시라고 드린이유는 말그대루 참고 버전 이틀려서 안되는게아니고요
에를 들면
// 회원 닉네임을 얻는다.
function get_member_abc($mb_id, $fields='*')
{
global $g5;
return sql_fetch(" select $fields from {$g5['member_table']} where mb_id = TRIM('$mb_id') ");
}
이런식으로 하나 만들고 게시판에서 닉네임을 불러올때는
$name_chl=sql_fetch(테이블명,게시판번호);
저가쓰고잇는 곳에서는 sql_fetch($table_boar,$wr_id);
그리고 닉네임이 보여질공간에 저는 회원 table 필드에 닛네임이 저장되는 곳의 필드네임이 mb_nick이므로
echo $name_chl[mb_nick];
이러게 불러오죠
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
어떻게 수정해줘야 할까요 ㅠㅠ
[code]
// 회원 정보를 얻는다.
function g5_get_member($mb_id, $slug='')
{
global $wpdb, $gnupress;
$mb_data = array( // member 배열변수 초기화
'user_level' => -1, //회원레벨 ( 비회원 일 경우 -1 )
'mb_point' => 0, //회원포인트
'mb_certify'=>'' , //본인인증
'mb_adult'=>'', //성인인증
'user_id'=>0
);
if( ! $mb_id ){
return $mb_data;
}
$member_array = wp_cache_get( 'g5_get_member_'.$mb_id );
if( false === $member_array ){
if( ! $slug && preg_match('/^\d+$/',$mb_id) ) {
$user = get_userdata( $mb_id );
} else {
if( ! $slug ) $slug = 'login';
$user = get_user_by( $slug, $mb_id );
}
if( ! isset($user->data) ){
return $mb_data;
}
/*
$member_array['user_id'] = $member_array['mb_id'] = ( isset($user->ID) && $user->ID > 0 ) ? $user->ID : '';
$member_array['user_email'] = $member_array['mb_email'] = ( isset($user->user_email) ) ? $user->user_email : '';
$member_array['user_display_name'] = $member_array['mb_nick'] = ( isset($user->display_name) ) ? $user->display_name : '';
$member_array['user_url'] = $member_array['mb_homepage'] = ( isset($user->user_url) ) ? $user->user_url : '';
$member_array['user_pass'] = $member_array['mb_password'] = ( isset($user->user_pass) ) ? $user->user_pass : '';
*/
if( isset($user->data) && !empty($user->data) ){
$member_array = wp_parse_args((array) $user->data , $mb_data);
}
$member_array['user_id'] = ( isset($user->ID) && $user->ID > 0 ) ? $user->ID : '';
$member_array['user_display_name'] = ( isset($user->display_name) ) ? $user->display_name : '';
if( $member_array['user_id'] ){
$member_meta = get_user_meta( $member_array['user_id'] );
if( !function_exists('g5_member_meta_extends') ){
function g5_member_meta_extends($a){
return $a[0];
}
}
// Filter out empty meta data
$member_meta = array_filter( array_map('g5_member_meta_extends', $member_meta) );
$check_meta_arr = array('first_name', 'last_name', 'mb_today_login', 'mb_login_ip');
foreach( $check_meta_arr as $key=>$v ){
$member_meta[$v] = isset($member_meta[$v]) ? $member_meta[$v] : '';
}
$member_meta['user_name'] = apply_filters('g5_get_member_name', $member_meta['first_name'].$member_meta['last_name'], $member_meta );
$key_array = array('mb_id', 'mb_email', 'mb_nick', 'mb_homepage', 'mb_password');
// $key_array에 포함된 값이 있다면 뺀다.
$member_meta = array_diff( (array) $member_meta, $key_array);
if( isset($member_meta[$wpdb->prefix.'user_level']) ){
$member_meta['user_level'] = $member_meta[$wpdb->prefix.'user_level'];
} else {
$member_meta['user_level'] = 0;
}
$member_array = apply_filters( 'g5_get_member', wp_parse_args($member_meta, $member_array) );
}
wp_cache_set( 'g5_get_member_'.$mb_id , $member_array );
}
[/code]