코스모스팜 스레드

사용자페이지에서 특정 필드로 소팅하기

안녕하세요..

다름이 아니구요..

워드프레스 사용자페이지에서 특정 필드(회원구분, 회원등급, 역할 등)로 소팅을하고 싶은데요.. 가능할까요??

 

감사합니다. 

 

무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)
무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)
  • 안녕하세요~^^

    워드프레스 사용자 페이지에서 사용자 정보를 별도로 추가하고 정렬하시려면

    manage_users_columnsmanage_users_sortable_columnsmanage_users_custom_column 필터를 사용해보시겠어요?

    아래 링크에 사용자 페이지에 회원가입일을 표시하고 정렬하는 코드가 소개되어 있습니다.

    확인해보시겠어요?

    https://www.cosmosfarm.com/threads/document/28925

    고맙습니다.

  • 안녕하세요. 알려주신내용으로 적용을 하려는데 잘 안되서요.. 아래와 같이 코딩을 했는데요..

    회원구분, 회원등급, 역할로 소팅을 하려고 하는데요. 사용자 페이지에서 소팅할 수 있도록 버튼은 활성화가 되었으나 정상적으로 소팅 안되고 있습니다. 

    방법을 좀 알려주세요... 감사합니다. 

     

     

    //사용자페이지에서 회원구분, 회원등급, 역할 등으로 정렬하기
    add_filter('manage_users_columns', 'my_manage_users_columns', 10, 1);
    add_filter('manage_users_sortable_columns', 'my_manage_users_columns', 10, 1);
    function my_manage_users_columns($columns) {
        $columns['mem_part'] = '회원구분';
        $columns['mem_grade'] = '회원등급';
        $columns['role'] = '역할';
        return $columns;
    }

    add_filter('manage_users_custom_column', 'my_manage_users_custom_column', 10, 3);
    function my_manage_users_custom_column($output, $column_name, $user_id){
        if($column_name == 'mem_part'){
            $user = new WP_User($user_id);
            return $user->mem_part;
        }
        return $output;
    }

  • 안녕하세요~^^

    회원가입 시 직접 추가하신 필드로 정렬하시려면

    WP_User 클래스가 아닌 get_user_meta 함수를 활용해보시겠어요?

    올려주신 코드 중 아래의 코드를

    $user = new WP_User($user_id);
    return $user->mem_part;

    아래의 코드로 교체해서 확인해보시겠어요?

    $mem_part = get_user_meta($user_id, 'mem_part', true);
    return $mem_part;

    고맙습니다.

  • 감사합니다.

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)