wordpress按用户类型获取n个用户并列出用户最新发表的n篇文章

LMS
1.6K+ 15

wordpress按用户类型获取n个用户并列出用户最新发表的n篇文章

表示语文很差,取个题目压力很大。

wordpress默认设置中用户分许多类型,比如管理员,编辑,作者,订阅者,投稿者等,通过用户类型来获取用户,并根据一定的顺序排序,比如用户的昵称排列,然后显示一定数量的该类型用户的用户信息,比如头像,用户自定义的说明,以及其他自定义信息,同时列出各个用户最新发表的几篇文章。

这就是题目要表达的意思。

下面代码的功能是:获取wordpress博客editor(就是编辑权限)类型的用户4名,并列出这四个编辑用户的相关信息,代码中主要是列出用户头像和用户的个人说明,同时显示最近发表的3篇各个编辑用户的最新文章。

<ul>
        <?php
        $editors = get_users(array(
                'orderby' => 'nicename', //按nicename排列
                'role' => 'editor', //返回的用户类型 可以是 administrator subscriber editor author contributor
                'number' => 4, //返回的用户数量
        ));
        foreach ($editors as $user) { ?>
                <li>
                        <div class="go">
                                <?php echo get_avatar($user->user_email, 72); ?>
                                <h2><a href="<?php echo get_author_posts_url($user->ID); ?>"><?php echo $user->display_name; ?></a></h2>
                                <?php 
                                        $desc = get_userdata($user->ID)->user_description;
                                        if(!empty($desc)){ echo $desc;}else{echo '这家伙很懒,什么都没有留下!';} 
                                        $myquery = new WP_Query ( array(
                                                'author' => $user->ID,
                                                'posts_per_page' => 3,//返回的最新发表文章数量
                                                )
                                        );
                                        while ( $myquery->have_posts() ) : $myquery->the_post();
                                                echo '<a href="' . get_permalink() . '">' . get_the_title() . '</a> - ' . get_the_time('Y.m.d');
                                        endwhile;
                                        wp_reset_postdata();
                                ?>
                        </div>
                </li>
        <?php } ?>
</ul>
文章目录
THE END

评论 15

  1. 007
    🏅

    role查询多个用户类型呢,貌似尝试填写多个类型用 ,号隔开没用。

    1. role不支持array,多个用户类型比较复杂,需要对get_users进行foreach。

      1. 貌似留空是查询全部,要是能指定几个特定用户分组就好了。

        1. 可以的,你google一下,老外有方法。

  2. 是:展示某权限用户们的个人信息及最新文章?

    1. 艾玛,看来我的语文水平也是硬伤啊,就是你说的这个意思。

      1. 换头像了,你的主题是越来越高端大气上档次了。

发表评论

Submit