count_user_posts( int $userid, array|string $post_type = 'post', bool $public_only = false )
Number of posts user has written.
Parameters
- $userid
-
(Required) User ID.
- $post_type
-
(Optional) Single post type or array of post types to count the number of posts for. Default 'post'.
Default value: 'post'
- $public_only
-
(Optional) Whether to only return counts for public posts.
Default value: false
Return
(string) Number of posts the user has written in this post type.
Source
File: wp-includes/user.php
function count_user_posts( $userid, $post_type = 'post', $public_only = false ) {
global $wpdb;
$where = get_posts_by_author_sql( $post_type, true, $userid, $public_only );
$count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" );
/**
* Filters the number of posts a user has written.
*
* @since WP-2.7.0
* @since WP-4.1.0 Added `$post_type` argument.
* @since WP-4.3.1 Added `$public_only` argument.
*
* @param int $count The user's post count.
* @param int $userid User ID.
* @param string|array $post_type Single post type or array of post types to count the number of posts for.
* @param bool $public_only Whether to limit counted posts to public posts.
*/
return apply_filters( 'get_usernumposts', $count, $userid, $post_type, $public_only );
}
Changelog
Version | Description |
---|---|
WP-4.3.0 | Added $public_only argument. Added the ability to pass an array of post types to $post_type . |
WP-4.1.0 | Added $post_type argument. |
WP-3.0.0 | Introduced. |