테스트 사이트 - 개발 중인 베타 버전입니다

작성자 닉네임으로 나오게 하기 채택완료

나인티 9년 전 조회 5,054

 </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개

채택된 답변
+20 포인트

/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개

나인티
9년 전
버전이 달라서 저는 이렇게 보이나보네요!
어떻게 수정해줘야 할까요 ㅠㅠ

[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]

댓글을 작성하려면 로그인이 필요합니다.

thisgun
9년 전

질문한 내용의 소스에 보면

 

</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]; 

이러게 불러오죠

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인