Создание пользовательских прав для типа пользователя
Я хочу сделать так, чтобы авторы на моем сайте могли публиковать контент только после одобрения администратора, но при этом сохраняли возможность загружать изображения, добавлять теги и выполнять другие задачи. Стандартные уровни прав в WordPress либо слишком ограничивают, либо позволяют авторам публиковаться самостоятельно.
В Drupal есть простой способ редактирования прав для типов учетных записей, и мне интересно, можно ли добиться аналогичного функционала в WordPress.

Плагины, которые могут это сделать:
- WPFront User Role Editor — бесплатный и платный, оба делают то, что вам нужно
- User Role
- User Role and Capabilities
Или вы можете добавить это в файл functions.php вашей темы
- ознакомьтесь с разделом Роли и Возможности в WP Codex для подробностей
- и прочитайте это простое руководство о том, как добавить эти возможности самостоятельно
Лично я предпочитаю добавлять это в functions.php, а не устанавливать плагин. Это безопаснее и обычно делает сайт быстрее.

Сначала выберите одну из ролей WordPress, которую будет иметь ваш автор: автор, участник, редактор... или пользовательскую роль.
Затем настройте выбранную роль с необходимыми возможностями в файле темы functions.php:
if ( ! function_exists( 'writer_set_roles' ) ):
function writer_set_roles()
{
global $wp_roles;
// редактирование записей / страниц
$wp_roles->add_cap('author','edit_others_pages');
$wp_roles->add_cap('author','edit_published_pages');
$wp_roles->add_cap('author','edit_private_pages');
$wp_roles->add_cap('author','publish_pages');
$wp_roles->add_cap('author','delete_pages');
$wp_roles->add_cap('author','delete_others_pages');
$wp_roles->add_cap('author','delete_others_posts');
$wp_roles->add_cap('author','delete_published_pages');
$wp_roles->add_cap('author','manage_categories');
// внешний вид
$wp_roles->add_cap('author','edit_themes');
$wp_roles->add_cap('author','edit_theme_options');
$wp_roles->add_cap('author','manage_widgets');
$wp_roles->add_cap('author','edit_widgets');
// пример для возможностей плагинов
$wp_roles->add_cap('author','NextGEN Gallery overview');
$wp_roles->add_cap('author','NextGEN Use TinyMCE');
$wp_roles->add_cap('author','NextGEN Upload images');
$wp_roles->add_cap('author','NextGEN Manage gallery');
$wp_roles->add_cap('author','NextGEN Manage others gallery');
}
endif;
add_action( 'after_setup_theme', 'writer_set_roles' );
Все возможные права можно найти в этом файле: https://github.com/WordPress/WordPress/blob/master/wp-admin/includes/schema.php
Или в документации: https://codex.wordpress.org/Roles_and_Capabilities
