首页 > 解决方案 > 在每个wordpress帖子中,获取当前登录用户的角色

问题描述

我有几篇文章,一些是由具有作者角色的用户编写的,而另一些是由订阅者角色用户编写的。如果您仅在他们自己的帖子显示中登录订户用户,在包含他们自己的帖子的 div 上,一个附加类,但如果您仅在该作者的帖子中启动作者,它将显示在包含所有自己的帖子的同一个 div,显示与订阅者用户不同的类

echo $post_content;

            $user = new WP_User($post->author_id);
            $user_roles = $user->roles[0];

           echo '<div class="file-adjuntos '.$user_online_class.' '.$user_roles.'">';

                echo $this->uploads->show_uploaded_files($post->id, $post->uploads);

            echo '</div>';

上面它所做的是显示发布帖子的用户的角色,对所有帖子,拥有而不是拥有当前用户,而您想要的是该角色只会在当前的 div 中显示一个附加类用户的帖子。我希望你明白我在找什么。非常感谢你的帮助。此致。

标签: wordpress

解决方案


您正在为每个帖子创建一个新用户,但您不想这样做。

用这个替换你的代码: echo $post_content;

        $user = get_current_user_id();
        $author_id= $post->post_author;
        $user_roles = "";
        if($user ==  $author_id)
        $user_roles = $user->roles;


       echo '<div class="file-adjuntos '.$user_online_class.' '.$user_roles.'">';

            echo $this->uploads->show_uploaded_files($post->id, $post->uploads);

        echo '</div>';

推荐阅读