web-dev-qa-db-fra.com

Vérifier si l'auteur ou l'utilisateur actuel a publié des publications

Je fais un système de QUIZ, mais je suis confronté à un problème que je ne sais pas comment le résoudre.

Je dois faire une if essentiellement, où il vérifiera si l'utilisateur actuel a publié un article, en tant que titre de la question. Il est important de dire que les posts sont spécifiquement custom-post-type , je dois donc vérifier s'il y a une publication avec un certain post-type avec l'auteur-id égal à l'utilisateur actuel ID.

Est-ce que quelqu'un peut m'aider?

1
Claudio B.

En utilisant get_posts ou WP_query avec des $ args similaires:

$args = array(
    'post_type'  => 'your_custom_post_type',
    'author'     => get_current_user_id(),
);

$wp_posts = get_posts($args);

if (count($wp_posts)) {
    echo "Yes, the current user has 'your_custom_post_type' posts published!";
} else {
    echo "No, the current user does not have 'your_custom_post_type' posts published.";
}
0
dalv lexa

plonger dans cela, j'ai trouvé que count_user_posts( $userid , $post_type ) est une meilleure solution. il est plus court et moins coûteux en ressources que get_posts();

alors le voici:

$posts = count_user_posts( $user_id ); //cout user's posts
if( $posts > 0 ){
  //user has posts
}
2
Ituk