отображать данные HTML в зависимости от идентификатора пользователя WordPress - PullRequest
0 голосов
/ 03 мая 2019

я работаю в WordPress.У меня есть 3 пользователя в нем, и внутри моего входа в Wordpress Dashboard у меня есть настроенный виджет HTML с пользовательскими данными.Этот виджет имеет 3 деления

Если кто-либо из этих пользователей войдет в систему, может увидеть 3 деления.Но то, что я хочу сделать, это отобразить определенный div для конкретного пользователя.

Допустим, у меня есть:

<div class=“user1”></div>
<div class=“user2”></div>
<div class=“user3”></div>

, и я хочу, чтобы «user_id = 3» видел только следующее:

<div class=“user3”></div>

и, если пользователь 2 входит в систему, может увидеть div с классом «user2» и скрыть остальные

в WordPress, каждое имя пользователя, как для ex: user_id = 3

Может ли кто-нибудь, кто понимает php и wordpress, помочь мне с этим?

Спасибо!

1 Ответ

0 голосов
/ 03 мая 2019

Вы должны использовать PHP, чтобы идентифицировать пользователя, а затем показать соответствующий контент. Таким образом, страница содержит только те данные, которые должен видеть пользователь. Если у вас есть несколько <div> элементов, вам нужно каждый раз включать их все. Это создает утечки данных и уязвимости безопасности.


Проблема

Учтите это:
На вашей странице есть div элементов, которые вы предложили
<div class="user1">User1 Information</div>
<div class="user2">User2 Information</div>
<div class="user3">User3 Information</div>

Когда user1 входит в систему, вы показываете div только с class='user1'. Проблема в том, что вы все еще включаете в страницу информацию для user2 и user3. Это плохая практика, потому что опытный пользователь может легко получить эту информацию, просмотрев исходный код страницы.


Правильный путь

Вы должны использовать PHP-скрипт для идентификации пользователя, а затем распечатать виджет, который вы хотите, чтобы он увидел. Приведенный ниже код представляет собой обобщенный скрипт Wordpress, который вам нужно будет адаптировать к вашим потребностям.
$user = wp_get_current_user();
$user_id = $user->ID;

switch($user_id) {
    case 1: //user1 id
        //show user1 widget
        break;
    case 2: //user2 id
        //show user2 widget
        break;
    case 3: //user3 id
        //show user3 widget
        break;
}

Здесь вы показываете только тот виджет, который должен видеть пользователь. Это не единственный способ сделать это, и вам нужно продиктовать ваш сценарий. Вы можете использовать операторы if или оператор switch или поместить весь код в функцию, чтобы он содержал все это. Решение остается за вами, но я надеюсь, что это направит вас в правильном направлении.

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