Как мы подсчитываем пользовательские статьи сообщений

Я пытаюсь использовать общее количество сообщений, в настоящее время я использую этот запрос

$args=array( 'author' => $userID, 'post_type' => 'post', 'post_status' => $poststatus, 'posts_per_page' => 212 ); <?php echo count_user_posts($args); ?> 

$poststatus имеют 2 варианта draft и publish . Но когда я запускаю этот запрос, одно условие работает хорошо и publish . но когда я пытаюсь запустить draft он не показывает правильное количество черновиков сообщений. Так скажите мне, где я ошибаюсь в запросе.

Solutions Collecting From Web of "Как мы подсчитываем пользовательские статьи сообщений"

Функция count_user_posts принимает только идентификатор пользователя, поэтому аргументы не принимаются во внимание. Вот простая функция, чтобы получить счет по статусу

 function count_user_posts_by_status($post_status = 'publish',$user_id = 0){ global $wpdb; $count = $wpdb->get_var( $wpdb->prepare( " SELECT COUNT(ID) FROM $wpdb->posts WHERE post_status = %s AND post_author = %d", $post_status, $user_id ) ); return ($count) ? $count : 0; } 

Применение:

 <?php echo count_user_posts_by_status('draft',$userID); ?>