@dab77
Фронтэнд разработчик

Как показывать пользователю в админ панели Wordpress только его записи?

Как показывать пользователю в админ панели Wordpress только его записи?
Требуется ограничить просмотр записей только теми, которые пользователь создал сам. Это же относится и к кастомным типам записей.
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
Kozack
@Kozack Куратор тега WordPress
Thinking about a11y
Вешаете хук на pre_get_posts. В нем проверяете, что сейчас работает админка, проверяете роль пользователя. Если это не редактор -- добавить в запрос автора, чтобы ВП вернул только его записи

Примерно так:
add_filter( 'pre_get_posts', 'wpb_show_current_user_posts', 1000 );
 
function wpb_show_current_user_posts( $query ) {
  if ($query->is_admin) {
    $user_id = get_current_user_id();
    if ( $user_id && !current_user_can('edit_others_posts') ) {
      $query->set( 'author', $user_id );
    }
  }
  return $query;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы