워드프레스 어드민 사용자 페이지에 새로운 칸을 만들어서 회원들이 작성한 케이보드 댓글 갯수를 표시할 수 있는 방법이 있을까요?
각각의 회원들이 사이트 전체의 케이보드 게시판에서 총합 몇개의 댓글을 달았는지 알고 싶습니다
manage_users_columns 코드를 사용하면 워드프레스 어드민 사용자 페이지에 새로운 칸이 생성된다는건 알겠는데 케이보드 댓글 갯수를 카운트해서 표시하는 방법이 궁금해서 문의합니다
항상 친절한 답변 감사합니다
안녕하세요~^^
워드프레스 사용자 페이지에서 KBoard 댓글 수를 표시하는
예제 코드를 작성해봤습니다.
아래의 코드를 활용해보시겠어요?
add_filter('manage_users_columns', 'manage_users_columns_20200714', 10, 1);
function manage_users_columns_20200714($columns){
$columns['kboard_my_comment'] = 'KBoard 댓글';
return $columns;
}
add_filter('manage_users_sortable_columns', 'manage_users_sortable_columns_20200714', 10, 1);
function manage_users_sortable_columns_20200714($columns){
$columns['kboard_my_comment'] = 'kboard_my_comment';
return $columns;
}
add_filter('manage_users_custom_column', 'manage_users_custom_column_20200714', 10, 3);
function manage_users_custom_column_20200714($output, $column_name, $user_id){
global $wpdb;
if($column_name == 'kboard_my_comment'){
$count = $wpdb->get_var("SELECT COUNT(*) FROM `{$wpdb->prefix}kboard_comments` WHERE `user_uid`='{$user_id}'");
return $count;
}
return $output;
}
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
고맙습니다.
답변 감사합니다. 원하는대로 적용이 잘 되었어요!!
그런데 댓글 갯수대로 정렬 순서를 고치려고 ▲을 클릭하면 댓글이 많은 회원들 순서으로 정렬되지 않습니다
이런식으로 위아래 순서만 바뀔뿐이네요.....이럴 때는 어떻게 해야되나요??
워드프레스 사용자 페이지에서 manage_users_sortable_columns 필터 적용 시
정럴이 정상적으로 되지 않는다면 pre_user_query 액션을 활용해보시겠어요?
자세한 내용은 아래의 링크들을 참고해보세요.
https://developer.wordpress.org/reference/hooks/pre_user_query/
https://wordpress.stackexchange.com/questions/27518/sortable-custom-columns-in-user-panel-users-php
고맙습니다.