get_most_recent_post_of_user

函数
get_most_recent_post_of_user ( $user_id )
参数
  • (int) $user_id
    Required:
返回值
  • (array) Contains the blog_id, post_id, post_date_gmt, and post_gmt_ts
定义位置
相关方法
wp_get_recent_postsget_blogs_of_userget_author_posts_urlget_default_post_to_editget_parent_post_rel_link
引入
-
弃用
-

get_most_recent_post_of_user函数用于检索特定用户发布的最新文章。此功能可用于显示特定用户的最新文章。

获取一个用户的最新文章。

遍历用户的每一个博客,以找到具有最新post_date_gmt的文章。

function get_most_recent_post_of_user( $user_id ) {
	global $wpdb;

	$user_blogs       = get_blogs_of_user( (int) $user_id );
	$most_recent_post = array();

	// Walk through each blog and get the most recent post
	// published by $user_id.
	foreach ( (array) $user_blogs as $blog ) {
		$prefix      = $wpdb->get_blog_prefix( $blog->userblog_id );
		$recent_post = $wpdb->get_row( $wpdb->prepare( "SELECT ID, post_date_gmt FROM {$prefix}posts WHERE post_author = %d AND post_type = 'post' AND post_status = 'publish' ORDER BY post_date_gmt DESC LIMIT 1", $user_id ), ARRAY_A );

		// Make sure we found a post.
		if ( isset( $recent_post['ID'] ) ) {
			$post_gmt_ts = strtotime( $recent_post['post_date_gmt'] );

			/*
			 * If this is the first post checked
			 * or if this post is newer than the current recent post,
			 * make it the new most recent post.
			 */
			if ( ! isset( $most_recent_post['post_gmt_ts'] ) || ( $post_gmt_ts > $most_recent_post['post_gmt_ts'] ) ) {
				$most_recent_post = array(
					'blog_id'       => $blog->userblog_id,
					'post_id'       => $recent_post['ID'],
					'post_date_gmt' => $recent_post['post_date_gmt'],
					'post_gmt_ts'   => $post_gmt_ts,
				);
			}
		}
	}

	return $most_recent_post;
}

常见问题

FAQs
查看更多 >