根据用户角色显示不同的徽章

时间:2012-07-28 作者:jimilesku

问题

我有作者页面,我需要为作者和订阅者显示不同的徽章。网站上的作者具有与订阅者不同的某些能力,我想根据他们的角色显示不同的徽章。

示例

因此,当有人访问该站点时,管理员作者、访问者订阅者。。。他们会根据自己的角色在访问的作者页面上看到徽章。如果他们正在查看角色为“作者”的用户,则徽章为绿色;如果用户角色为“订阅者”,则徽章为红色。有可能吗?我如何做到?

这段代码并没有做到这一点:(

我试图遵循这一逻辑,但它显示的徽章是基于谁在看作者,而不是页面所有者的年龄。请帮助:)

 <?php if( is_author_of_current_page() &&  current_user_can(\'Author\') ) { ?>
                
  green badge
                
 <?php } elseif( is_author_of_current_page() &&  current_user_can(\'Subscriber\') ) { ?>
             
  red badge
                
 <?php } ?>

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

您可以使用get_queried_object 要获取当前作者页中的数据,请执行以下操作:

<?php

$author = get_queried_object();

// uncomment next line to see all author data
// print_r( $author );

if( in_array( \'author\', $author->roles ) ) :

    echo "author";

elseif( in_array( \'subscriber\', $author->roles ) ) :

    echo "subscriber";

endif;

结束

相关推荐

Author.php不显示POST类型的帖子

我注意到,第211个主题的作者。php模板只显示普通帖子中的帖子,自定义帖子类型的帖子不显示在此模板中。如何查询作者的所有帖子,而不管帖子类型如何?我试过了global $wp_query; $theauthorid = get_current_user_id( ); query_posts( \'author=\' . $theauthorid ); 但它也不显示post类型post。有什么线索吗?