В WordPress есть несколько способов вывода данных только для определенных ролей пользователей. В этом ответе я расскажу о двух наиболее распространенных методах.
1. Использование условных проверок в шаблоне:
Этот метод заключается в проверке текущей роли пользователя и выводе соответствующих данных в шаблоне. Например, вы можете использовать функцию current_user_can()
для проверки прав доступа пользователя и затем включить или исключить вывод данных на основе результата проверки. Вот пример использования этого метода:
<?php if ( current_user_can( 'editor' ) || current_user_can( 'author' ) ) { // Выводите данные для пользователей с ролью 'editor' или 'author' здесь } ?>
В этом примере мы проверяем, имеет ли текущий пользователь роль 'editor' или 'author', и если да, то выводим соответствующие данные.
2. Использование хука init
и функции remove_role()
:
Если вам нужно полностью исключить определенную роль из доступа к определенным данным, вы можете использовать хук init
и функцию remove_role()
. Вот пример:
<?php function exclude_role_from_data() { $role = get_role( 'subscriber' ); // Замените 'subscriber' на нужную вам роль if ( $role ) { $role->remove_cap( 'read_private_posts' ); // Замените 'read_private_posts' на нужную вам возможность } } add_action( 'init', 'exclude_role_from_data' ); ?>
В этом примере мы используем функцию get_role()
для получения объекта роли 'subscriber'
, а затем используем метод remove_cap()
для удаления возможности 'read_private_posts'
. Это означает, что пользователи с ролью 'subscriber'
не смогут читать приватные статьи.
Оба этих метода могут быть полезны для вывода данных только для определенных ролей пользователей в WordPress. Выберите тот, который наиболее подходит для ваших конкретных потребностей.