2010-05-11 8 views
1

Wordpress에 게시물이있는 총 사용자 수를 표시하고 싶습니다. 이 쿼리로 모든 사용자를 얻을 수 있습니다.Wordpress - 게시물 만 가지고있는 총 사용자 수

<?php $user_count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->users;"); echo $user_count ?> 

하지만 게시물 수가 사용자 수에 비하면 다른 테이블에 가입해야 할 필요가 있다고 생각합니까? 감사.

답변

1

나는 워드 프레스를 사용하지 않지만, http://codex.wordpress.org/images/8/83/WP_27_dbsERD.png에서 스키마가 사용중인 버전에 가까운 경우에 당신이 알고 싶어하는 경우에, 당신은

SELECT COUNT(*) FROM wp_posts GROUP BY post_author 

같은 것을 할 수 있어야하는 사용자 당신이

SELECT COUNT(*) AS number_of_posts, u.user_login FROM 
wp_user u, wp_post p WHERE u.ID = p.post_author HAVING number_of_posts > 0; 
+0

감사를 할 수있는 게시물의 어떤 수 있었다, 나는 phpMyAdmin을에서 첫 번째 쿼리를 실행하면, 제대로 보여 주지만, 내가 PHP에서 해당 쿼리를 에코 때, 그것은, 내가 돈을 잘못 표시, 아주 이상한 일이있어 이유는 모르겠다. 내 구문은 다음과 같다. get_var ("SELECT COUNT (*) FROM wp_posts GROUP BY post_author"); echo $ author_count?> – knightrider

+0

나는 wordpress DB API에 익숙하지 않다. $ wpdb-> wp_posts $ wpdb 접두사를 샘플 코드처럼 필요로하거나 API가 GROUP BY 절이 왠지 마음에 들지 않는다는 것을 짐작할 수 있습니다. 이상한 점은 무엇입니까? 오류 메시지 또는 잘못된 출력 ? –

+0

그것은 잘못된 출력이며, 주목할 점은 wp_post에서 다른 post_type도 페이지에 있으므로 SELECT COUNT (*)에서 wp_posts GROUP BY post_author 및 post_type = 'post'와 같은 쿼리를 변경했습니다. 그것은 단지 내 DB에 2 출력, 실제로 30 주위에 내 쿼리가 잘못 되었나요? – knightrider

관련 문제