繁体   English   中英

根据使用PHP在wordpress中登录的user = role显示内容

[英]show content based on logged in user=role in wordpress with PHP

我的工作正常:

<?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; ?>

但是我试图根据登录的用户ROLE更改它以显示此特定内容。 因此,基本上,例如如果角色is = administrator显示,或者如果不是隐藏其他所有登录用户,则类似。

|||| 如何更改当前代码以编写if语句,以检查登录的用户角色,然后检查特定角色(例如admin)是否显示内容; 如果不躲起来?

失败日志: 最近:

<?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>
    }
?>  

也许像这样:

<?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
    }
}
?>  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM