使用 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 中根据登录用户 = 角色显示内容的主要内容,如果未能解决你的问题,请参考以下文章

如何进入wordpress后台拿shell

WordPress登录框显示/隐藏输入的密码

PHP 在Wordpress中共享登录

PHP 如何使用WordPress进行登录和密码

PHP 仅显示wordpress中登录用户的内容

如何使用“主题我的登录”插件在 wordpress 登录表单中自动填写字段?