count_user_posts( int $userid, array|string $post_type = 'post', bool $public_only = false )
Number of posts user has written.
Description Description
Parameters Parameters
- $userid
-
(int) (Required) User ID.
- $post_type
-
(array|string) (Optional) Single post type or array of post types to count the number of posts for.
Default value: 'post'
- $public_only
-
(bool) (Optional) Whether to only return counts for public posts.
Default value: false
Return Return
(string) Number of posts the user has written in this post type.
Source 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 2.7.0 * @since 4.1.0 Added `$post_type` argument. * @since 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 ); }
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
4.3.0 | Added $public_only argument. Added the ability to pass an array of post types to $post_type . |
4.1.0 | Added $post_type argument. |
3.0.0 | Introduced. |
User Contributed Notes User Contributed Notes
You must log in before being able to contribute a note or feedback.
Get post count for a user
Display the number of posts published by the user with an ID of 5.
Get post count for a user filtered by post type
Display the number of posts of post type “book” published by the user with an ID of 5.
Translation friendly post count
The same operation, with translation support.