Auth.php中基于作者角色的条件标签

时间:2014-10-09 作者:Ismael Latorre

是否有任何方法可以在author.php 配置文件模板取决于显示的配置文件的角色?(不是指查看它的人,而是指特定个人资料所指的作者)。

如果正在显示具有角色的作者的配置文件editor, 然后会显示一些内容,如果配置文件属于具有角色的作者contributor, 然后会显示一些其他内容。

我还没有找到任何答案。能做到吗?

2 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

current_user_can 使用角色时不提供所需的输出。有一个trac ticket #22624 解释这一切。它是通过以下方式关闭的

关键词关闭已删除

  • 等待审核的里程碑已删除

    分辨率设置为wontfix

    状态从新建更改为关闭

  • 我的解决方案是获得特色用户的角色,然后对照特定的roles

    第一件事是检索作者的角色get_queried_object()->roles 然后检查所需角色是否在数组中,如果在数组中,请执行某些操作。这是代码

    $user_role = get_queried_object()->roles[0];
    
    if( in_array( strtolower(\'Editor\'), $user_role ) ) {
        //Do something for Editor
    }elseif( in_array( strtolower(\'Contributor\'), $user_role ) ) { 
        //Do something for Contributor
    }
    

    EDIT

    用户角色以大写字母开头,但从get_queried_object()->roles 以小写字母开头。这就是为什么我在代码中使用角色,并使用strtolower 将角色转换为小写

    SO网友:gmazzap

    能做到吗?

    当然

    在…内author.php 获取查看配置文件引用的用户id,使用get_queried_object_id() 检查功能,并最终在此基础上有条件地显示内容。

    我说的是“检查能力”,而不是“检查角色”,因为检查角色是件好事,最好是检查能力。使用user_can 对于范围。

    结束

    相关推荐