在回显get_the_author_meta期间排除特定用户ID或用户角色

时间:2014-01-04 10:04:24

标签: php wordpress

我使用以下代码列出了具有头像,名称和自定义用户元的用户:

<a href="<?php echo get_author_posts_url($q->ID);?>" target="_blank">  
<?php echo get_avatar( $q->ID, 150 ); ?> 
<?php echo get_the_author_meta('display_name', $q->ID);?><br />
<?php if (get_the_author_meta('bb_user_honey', $q->ID) != '') : ?>
<?php echo get_the_author_meta('bb_user_honey', $q->ID); ?>
<?php endif; ?></a>

知道如何排除特定用户ID或特定用户角色 - 例如管理员角色?

1 个答案:

答案 0 :(得分:1)

有一个函数:)

您应该使用get_users来检索用户,您可以轻松地在其上应用过滤器,然后循环返回的数组以显示您想要的内容。

来自文档:

  <?php get_users( $args ); ?> 
Parameters

<?php $args = array(
    'blog_id'      => $GLOBALS['blog_id'],
    'role'         => '',
    'meta_key'     => '',
    'meta_value'   => '',
    'meta_compare' => '',
    'meta_query'   => array(),
    'include'      => array(),
    'exclude'      => array(),
    'orderby'      => 'login',
    'order'        => 'ASC',
    'offset'       => '',
    'search'       => '',
    'number'       => '',
    'count_total'  => false,
    'fields'       => 'all',
    'who'          => ''
 ); ?>

然后你有一个包含用户的数组,在其上循环以获取名称,ID,邮件等......

注意:如果您想显示头像,可以使用http://codex.wordpress.org/Function_Reference/get_avatar

编辑:以下是获取博客所有作者并显示其姓名的示例。头像。阅读我给你的文档更高精确的get_users函数中的排除/包含排序项。

<ul>
<?php
    $blogusers = get_users('role=author');
    foreach ($blogusers as $user) {
        echo '<li>' . $user->user_login . '</li>';
        echo '<li>' . get_avatar($user->ID) . '</li>';
    }
?>
</ul>