The get_others_unpublished_posts() WordPress PHP function retrieves editable posts from other users, excluding the specified user.
Usage
get_others_unpublished_posts($user_id, $type)
Custom Example:
$other_users_posts = get_others_unpublished_posts(1, 'draft');
Parameters
$user_id
(int): User ID to exclude from retrieving posts.$type
(string): Post type to retrieve. Accepts ‘draft’, ‘pending’, or ‘any’ (all). Default is ‘any’.
More information
See WordPress Developer Resources: get_others_unpublished_posts()
Examples
Get Drafts from Other Users
Retrieve all draft posts from other users, excluding the user with the ID of 2.
$other_users_drafts = get_others_unpublished_posts(2, 'draft');
Get Pending Posts from Other Users
Retrieve all pending posts from other users, excluding the user with the ID of 3.
$other_users_pending = get_others_unpublished_posts(3, 'pending');
Get All Unpublished Posts from Other Users
Retrieve all unpublished posts (draft and pending) from other users, excluding the user with the ID of 4.
$other_users_unpublished = get_others_unpublished_posts(4, 'any');
Display Other Users’ Unpublished Posts
Display the titles of unpublished posts from other users, excluding the user with the ID of 5.
$other_users_unpublished = get_others_unpublished_posts(5, 'any'); foreach ($other_users_unpublished as $post) { echo '<h2>' . $post->post_title . '</h2>'; }
Get Unpublished Posts of a Specific Post Type
Retrieve all unpublished posts of a custom post type ‘products’ from other users, excluding the user with the ID of 6.
add_filter('posts_where', 'filter_post_type_products'); $other_users_unpublished_products = get_others_unpublished_posts(6, 'any'); remove_filter('posts_where', 'filter_post_type_products'); function filter_post_type_products($where) { global $wpdb; $where .= " AND {$wpdb->posts}.post_type = 'products'"; return $where; }