get_most_recent_post_of_user()
最后更新于:2021-11-26 09:48:52
get_most_recent_post_of_user( int$user_id)Get a user’s most recent post.
参数
- $user_id
-
(int) (Required)
响应
(array) Contains the blog_id, post_id, post_date_gmt, and post_gmt_ts
源文件
文件: gc-includes/ms-functions.php
function get_most_recent_post_of_user( $user_id ) {
global $gcdb;
$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 = $gcdb->get_blog_prefix( $blog->userblog_id );
$recent_post = $gcdb->get_row( $gcdb->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;
}