根据用户角色/功能从菜单隐藏DIV

时间:2019-06-03 20:53:59

标签: php html wordpress hide

我有一个有2个用户角色(客户和供应商)的wordpress网站。我想从“客户”菜单栏中隐藏“供应商仪表板”。该主题的代码在header-aside.php文件中,因此插件将无法隐藏该元素。我尝试了以下代码,这些代码对所有人(不仅是客户)都隐藏了这一点,所以我不确定在这里有什么错。

     <?php if (current_user_can(‘read’)) { ?>
        <div class="dashboard-icon">
            <a id="header-button" href="/creator-dashboard/" class="header-button boss-tooltip" data-tooltip="<?php _e( 'Creator Dashboard', 'onesocial' ); ?>"><i class="fas fa-tachometer-alt"></i></a>
        </div>
    <?php } ?>

请注意,由于我无法显示它,因此我可以在其中“读取”作为测试。但是供应商的实际能力是“ edit_products”

1 个答案:

答案 0 :(得分:0)

您可以检查WP_User对象内部的用户角色,该对象由功能wp_get_current_user ()返回。 因此,您可以通过该代码仅向供应商显示仪表板:

<?php 
$user = wp_get_current_user();
if ( in_array( 'vendor', $user->roles ) ) {
?>
    <!-- Any HTML what you need to hide from "Customers" and show for "Vendor" -->
    <div>Vendor Dashboard</div>
<?php 
}
?>
相关问题