【问题标题】:Hiding DIV from menu based on user role / capabilities Wordpress根据用户角色/功能 Wordpress 从菜单中隐藏 DIV
【发布时间】:2019-10-19 10:12:20
【问题描述】:

我有一个 wordpress 网站,有 2 个用户角色,客户和供应商。我想从客户的菜单栏中隐藏供应商仪表板。此主题的代码位于 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”

【问题讨论】:

    标签: php html wordpress hide


    【解决方案1】:

    您可以在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 
    }
    ?>
    

    【讨论】:

    • 您好,我不知道如何在这段代码中添加 div,它一直在破坏网站。抱歉我的php知识还在学习中!
    • @pathosmusic div 是例如。只需将 &lt;div&gt; Vendor Dashboard &lt;/ div&gt; 替换为您需要对“客户”隐藏的 HTML
    • 感谢 Rimarx 的帮助,我试过了,但网站只显示白色,只有顶部菜单,没有其他内容。会不会是另一个 data-tooltip="" 搞砸了?
    • @pathosmusic 我编辑了回复。立即尝试复制并检查
    • Rimarx 你是一个救生员,这很好用!我将您的答案投票为已接受!
    猜你喜欢
    • 2018-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-19
    • 2012-09-16
    • 2015-05-08
    • 2023-01-02
    相关资源
    最近更新 更多