Wordpress - get_posts - get all posts by author id
I'm a bit confused. If you want to get onlya element from the posts array you can get it like this:
- reset($current_user_posts) - first post
- end($current_user_posts) - lat post
But if you want to get just one post with the get_posts()
you can use the posts_per_page
argument to limit the results.
$args = array(
'author' => $current_user->ID,
'orderby' => 'post_date',
'order' => 'ASC',
'posts_per_page' => 1
);
More info about parameters you can get on WP Query Class Reference page (get_posts()
takes same parameters as 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);
and just loop the current user posts
its work by (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>' );