Функции. php показывают разные таблицы по ролям пользователей - PullRequest
0 голосов
/ 07 августа 2020

Я использую плагин wordpress (WpDataTables) и хочу изменить таблицу, показываемую пользователям, в зависимости от их роли.

Я добавил сценарий ниже к своим функциям. php, но это работает только для моего администратора и не распознает мои пользовательские роли, они отправляются в таблицу «else» (ID = 4).

Я подтвердил, что мои пользовательские роли существуют и другие мои функции. php скрипты, такие как перенаправление входа в систему на основе ролей пользователей, работают нормально.

Любая помощь будет отличной.

//Function to change table shown based on user role
function display_table_by_role_shortcode() {
    $current_user = wp_get_current_user();
    $user_role = $current_user->roles[0];
    
    if($user_role = 'administrator')
    {
    $table = "[wpdatatable id=5 table_view=regular]";
    }
    elseif($user_role = 'member1')
    {
    $table = "[wpdatatable id=1 table_view=regular]";
    }
    elseif($user_role = 'member2')
    {
    $table = "[wpdatatable id=2 table_view=regular]";
    }
    elseif($user_role = 'member3')
    {
    $table = "[wpdatatable id=3 table_view=regular]";
    }
    else
    {
    $table = "[wpdatatable id=4 table_view=regular]";
    }
    echo do_shortcode($table);

}

add_shortcode('display_table_by_role', 'display_table_by_role_shortcode');

Спасибо

Брэд

1 Ответ

1 голос
/ 07 августа 2020

нам нужно использовать == для сравнения.

как

   if($user_role == 'administrator')
    {
    $table = "[wpdatatable id=5 table_view=regular]";
    }
    elseif($user_role == 'member1')
    { ``` 

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...