Описание функции WP_Roles::add_cap()
Функция WP_Roles::add_cap() добавляет возможность для указанной роли в системе управления пользователями WordPress. Это позволяет расширять функциональность ролей, предоставляя пользователям доступ к определенным действиям в админ-панели или на сайте.
Функция используется разработчиками плагинов и тем для настройки прав доступа пользователей в зависимости от их ролей
Параметры
$role
Тип: string
Обязательный: Да
Описание: Название роли, для которой добавляется возможность
Возможные значения:
$capability
Тип: string
Обязательный: Да
Описание: Название возможности, которую нужно добавить к роли
Возможные значения:
Возвращаемое значение
Тип: bool
Описание: Возвращает true при успешном добавлении возможности, false в противном случае
Возможные значения:
• true — если возможность успешно добавлена
• false — если не удалось добавить возможность
Примеры использования
Базовый пример добавления возможности редактирования настроек темы для редактора
$roles = new WP_Roles();
$roles->add_cap('editor', 'edit_theme_options');
// Проверка результата
if ($roles) {
echo 'Возможность добавлена';
} else {
echo 'Ошибка добавления';
}
Вывод: Возможность добавлена
Добавление возможности удаления записей для авторов с обработкой результата
$roles = new WP_Roles();
if ($roles->add_cap('author', 'delete_posts')) {
echo 'Возможность удаления записей добавлена';
} else {
echo 'Не удалось добавить возможность';
}
Вывод: Возможность удаления записей добавлена
Безопасность
Валидация входных данных: Параметры проверяются на корректность внутри функции
Санитизация: Параметры очищаются WordPress
Рекомендации: Убедитесь, что вы добавляете возможности только для ролей, которые действительно нуждаются в них
— Связанные функции
Удаляет возможность у указанной роли
Проверяет, имеет ли текущий пользователь определенную возможность
— Примечания
– Ограничения
Необходимо убедиться, что роль существует перед добавлением возможности
– Частые проблемы
- Ошибка добавления возможности, если роль не существует
- Неочевидное поведение, если возможности дублируются