Скрытие DIV из меню на основе роли пользователя / возможностей Wordpress - PullRequest
0 голосов
/ 03 июня 2019

У меня есть 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 голосов
/ 04 июня 2019

Вы можете проверить роли пользователя внутри объекта WP_User , который возвращается функцией wp_get_current_user () .Таким образом, вы можете показывать Dashboard только для Продавца по этому коду:

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