Je veux obtenir tous les messages par certain auteur id (utilisateur actuel). Plus tard, je veux choisir le premier message de cet utilisateur (ASC). Je suppose que je n'utilise pas les bons arguments dans get_posts, n'est-ce pas? $ current_user_posts contient toujours un tableau avec toutes les publications de blog dans plusieurs objets WP_Post différents.
global $current_user;
get_currentuserinfo();
$args = array(
'author' => $current_user->ID, // I could also use $user_ID, right?
'orderby' => 'post_date',
'order' => 'ASC'
);
// get his posts 'ASC'
$current_user_posts = get_posts( $args );
Je suis un peu confus. Si vous voulez obtenir seulement un élément du tableau posts, vous pouvez l'obtenir comme ceci:
Mais si vous souhaitez obtenir un seul poste avec la fonction get_posts()
, vous pouvez utiliser l’argument posts_per_page
pour limiter les résultats.
$args = array(
'author' => $current_user->ID,
'orderby' => 'post_date',
'order' => 'ASC',
'posts_per_page' => 1
);
Plus d'informations sur les paramètres disponibles sur WP Référence de la classe de requête page (get_posts()
accepte les mêmes paramètres que WP Query).
global $current_user;
$args = array(
'author' => $current_user->ID,
'orderby' => 'post_date',
'order' => 'ASC',
'posts_per_page' => -1 // no limit
);
$current_user_posts = get_posts( $args );
$total = count($current_user_posts);
et juste en boucle les messages de l'utilisateur actuel
son travail par (wp4.9.7)
$user_id = get_current_user_id();
$args=array(
'post_type' => 'POSTTYPE',
'post_status' => 'publish',
'posts_per_page' => 1,
'author' => $user_id
);
$current_user_posts = get_posts( $args );
$total = count($current_user_posts);
wp_die( '<pre>' . $total . '</pre>' );