使用 PHP 在 wordpress 中根据登录用户 = 角色显示内容
Posted
技术标签:
【中文标题】使用 PHP 在 wordpress 中根据登录用户 = 角色显示内容【英文标题】:show content based on logged in user=role in wordpress with PHP 【发布时间】:2014-12-20 19:45:25 【问题描述】:我的工作正常:
<?php global $user_login; get_currentuserinfo();
if ($user_login) :?>
<li><a href="<?php echo get_site_url(); ?>/wp-admin/admin.php?page=download_report&download_report">Download Inventory of Mobile Apps</a></li>
<?php endif; ?>
但我正在寻求更改它以显示基于登录用户角色的特定内容。所以基本上类似于 if role is=administrator show, if not hide 对于所有其他登录用户。
||||如何更改我当前的代码以编写一个 if 语句来检查登录的用户角色,然后如果特定角色(如管理员)显示内容;如果不隐藏呢?
失败日志: 最近:
<?php global $user_login; get_currentuserinfo();
if( is_user_logged_in() )
if( !current_user_can( 'administrator' ) ) :?>
<li><a href="<?php echo get_site_url(); ?>/wp-admin/admin.php?page=download_report&download_report">Download Inventory of Mobile Apps</a></li>
<?php endif; ?>
最近的:
<?php
global $user_login, $current_user;
get_currentuserinfo();
$user_info = get_userdata($current_user->ID);
if (in_array('administrator', $user_info->roles))
<li><a href="<?php echo get_site_url(); ?>/wp-admin/admin.php?page=download_report&download_report">Download Inventory of Mobile Apps</a></li>
?>
【问题讨论】:
【参考方案1】:也许是这样的:
<?php
global $user_login, $current_user;
if (is_user_logged_in())
get_currentuserinfo();
$user_info = get_userdata($current_user->ID);
if (in_array('administrator', $user_info->roles))
// content
?>
结合您的最新代码:
<?php
global $user_login, $current_user;
if (is_user_logged_in())
get_currentuserinfo();
$user_info = get_userdata($current_user->ID);
if (in_array('administrator', $user_info->roles))
?>
<li><a href="<?php echo get_site_url(); ?>/wp-admin/admin.php?page=download_report&download_report">Download Inventory of Mobile Apps</a></li>
<?php
?>
【讨论】:
更新了代码示例,但如果您已登录并且仍然“破坏站点”,请提供实际错误。 所以它不再破坏网站了;但它不适用于用户角色“站点管理员”。 嗨@stealthyninja,这对我有用,非常感谢!只是想知道如何添加多个用户角色?那么,例如,如果我希望“管理员”和“编辑”用户角色具有访问权限? @damienoneill2001 - 请将此作为另一个问题提出。 @stealthyninja 别担心,新问题可以在这里找到:***.com/questions/35060128/…以上是关于使用 PHP 在 wordpress 中根据登录用户 = 角色显示内容的主要内容,如果未能解决你的问题,请参考以下文章