Get $curauth level

时间:2013-11-25 作者:vyperlook

我正在尝试获取作者页面上显示的作者的用户级别(不是登录的当前用户,而是我正在查看的当前作者页面上显示的用户)

我正在使用此代码

<?
get_currentuserinfo() ;
global $user_level;
if ($user_level >= 4) {
     include (TEMPLATEPATH . \'/author_1.php\');
} else {
    include (TEMPLATEPATH .\'/author_2.php\');
}
?>
我试图用$curauth替换$user,但仍然没有结果,它只显示了一个模板。有什么想法吗?

非常感谢。

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

托肖是正确的。用户级别现在已经被弃用很长时间了。但是,以下内容将在作者存档页面上为您提供有关文章作者的可用信息。

$author = get_queried_object();
var_dump($author);
在该转储中,您应该看到所需的所有内容,但请使用role 不是用户级别--查找$author->roles. 例如:

$author = get_queried_object();
$allowed = array(\'author\',\'editor\',\'administrator\');
$roles = array_intersect($author->roles,$allowed);
if (!empty($roles)) {
  include (TEMPLATEPATH . \'/author_1.php\');
} else {
  include (TEMPLATEPATH .\'/author_2.php\');
}
您几乎肯定也应该使用get_template_part 而不是include.

结束

相关推荐