count_user_posts( int $userid, array|string $post_type = 'post', bool $public_only = false )
Retourne le nombre de postes qu'un utilisateur a écrit.
Paramètres
$userid(int)requisId de l'utilisateur.
$post_type(array|string)optionnelType de poste unique ou tableau de types de poste.
Valeur par défaut : 'post'
$public_only(bool)optionnelTrue si la fonction doit seulement retourner les postes publiques.
Valeur par défaut : false
Retourne
(string) Nombre de postes qu'un utilisateur a écrit dans un type de poste donné.
Déclaration et structure de la fonction count_user_posts()
count_user_posts() est déclarée dans le fichier wp-includes/user.php à la ligne 584 :
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 );
}
Fonctions utilisées par count_user_posts()
apply_filters()Appel les fonctions qui ont été attaché à un filtre (hook).
get_posts_by_author_sql()Reçoit la requête SQL du poste basé sur la capacité du poste, l'id de l'utilisateur et le type du poste.
Hook utilisé par count_user_posts()
get_usernumpostsFiltre le nombre de postes qu'un utilisateur a écrit.
Où est utilisée la fonction count_user_posts()
dans le CMS WordPress
Exemple
count_user_posts( 5 );
count_user_posts( 5 , 'book' )
Sources
Codex WordPress : count_user_posts()
Autres fonctions dans le même fichier : wp-includes/user.php