Get users that likes the post

时间:2017-11-27 作者:Trello

我有一个类似ajax的帖子系统,当用户喜欢帖子时,系统会在帖子中添加一个帖子元,并将其命名为(post\\u liked\\u users)。post\\u likes\\u users元值示例:a:1:{s:6:"user-1";i:1;}

现在,如何才能获得喜欢该帖子的用户?

注意:我不能像杰克·约翰逊那样只使用foreach答案,我必须使用WP\\u User\\u Query或WP\\u Query,因为我要使用offest和number。

1 个回复
最合适的回答,由SO网友:Johansson 整理而成

看起来您正在将数据存储在帖子的meta中,而不是用户的meta中。因此,您需要通过直接获取该帖子的meta来检索它,而不是通过进行用户查询。

假设你的帖子ID是$post_id:

首先,通过检索metaget_post_meta():

$users = get_post_meta ( $post_id, \'post_liked_users\', false );
我假设您将数据存储为多重序列化的数据(基于您的问题),因此我将上述函数的最后一个参数设置为false,这将检索每个元,我们将尝试提取数组:

if ( $users ) {
    foreach ( $users as $user ) {
        // $user[0] is the user-1 string here, and 
        // $user[1] is the integer ( their ID )
        echo get_user_by( \'id\', $user[1] )->display_name;
    }
}

结束