사용자 관리자 패널에 맞춤 항목 추가


28

USERS에는 사용자 이름 전자 메일 역할 게시물이라는 기본 5 개의 열이 있습니다. 이제 연락처 번호로 열을 하나 더 추가하고 싶습니다.

어떻게하면 되나요?

블랙 박스가 표시된 곳


전화 번호 설정이 있습니까? 사용자가 프로필에 전화 번호를 추가 할 수 있습니까?
Robert hue

아니요 .. 추가하는 방법 만 알고 싶습니다. 연락처 번호 만 수정하는 것은 아닙니다. 빈 칸도 열 수 있습니다
Rohil_PHPBeginner

1
사이트에 많은 맞춤 항목이있는 경우 관리 항목이라는 플러그인에 관심이있을 수 있습니다.
Brian

자세한 설명과 함께이 블로그를 볼 수 있습니다 tekina.info/…
Aniket Singh

답변:


43

자, 다음은 사용자가 전화 번호를 추가 할 수있는 코드입니다. 이 전체 코드를 functions.php 파일에 붙여 넣습니다. "전화 번호"의 사용자 프로필에 새 필드가 추가되고 전화의 WordPress 관리자에 열 사용자 테이블이 추가됩니다.

function new_contact_methods( $contactmethods ) {
    $contactmethods['phone'] = 'Phone Number';
    return $contactmethods;
}
add_filter( 'user_contactmethods', 'new_contact_methods', 10, 1 );


function new_modify_user_table( $column ) {
    $column['phone'] = 'Phone';
    return $column;
}
add_filter( 'manage_users_columns', 'new_modify_user_table' );

function new_modify_user_table_row( $val, $column_name, $user_id ) {
    switch ($column_name) {
        case 'phone' :
            return get_the_author_meta( 'phone', $user_id );
        default:
    }
    return $val;
}
add_filter( 'manage_users_custom_column', 'new_modify_user_table_row', 10, 3 );

편집하다

두 개의 열을 추가하려면 약간 변경해야합니다. 이해하기 위해 두 코드를 비교하십시오.

function new_modify_user_table( $column ) {
    $column['phone'] = 'Phone';
    $column['xyz'] = 'XYZ';
    return $column;
}
add_filter( 'manage_users_columns', 'new_modify_user_table' );

function new_modify_user_table_row( $val, $column_name, $user_id ) {
    switch ($column_name) {
        case 'phone' :
            return get_the_author_meta( 'phone', $user_id );
        case 'xyz' :
            return '';
        default:
    }
    return $val;
}
add_filter( 'manage_users_custom_column', 'new_modify_user_table_row', 10, 3 );

코드를 다시 사용하십시오. 사용자 목록에서 전화 필드를 볼 수 있도록 변경했습니다.
Robert hue

큰! .. 그러나 사용자를 추가 할 때 왜 전화 번호를 요구하지 않습니까?
Rohil_PHPBeginner

이 코드를 설명해 주시겠습니까? 하나 이상의 필드를 추가하고 싶지만 오류가 표시됩니다.
Rohil_PHPBeginner

2
테마의 모양과 관련이 없으므로 사이트 별 플러그인에 추가하는 것이 좋습니다 .
helgatheviking

1
마지막으로 $user = get_userdata( $user_id );그리고 return $return절대적이다 없습니다 필요. 변수 $user가 함수에서 사용 $return되지 않고 정의되지 않았으므로 아무것도 리턴하지 않습니다.
LoicTheAztec
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.