Crea autorizzazioni personalizzate per tipi di utente
Attualmente vorrei fare in modo che gli autori del mio sito debbano ottenere l'approvazione di un amministratore prima che i loro contenuti vengano pubblicati, ma permettendo loro comunque di svolgere altre attività come caricare immagini, aggiungere tag, ecc. I livelli di autorizzazione predefiniti di WordPress sono o troppo restrittivi o permettono agli autori di pubblicare autonomamente.
So che su Drupal esiste un modo semplice per modificare le autorizzazioni per i tipi di account, ma mi chiedevo se esista un modo per ottenere lo stesso livello di funzionalità con WordPress.

Plugin che potrebbero fare questo:
- WPFront User Role Editor -- sia la versione gratuita che a pagamento fanno quello che chiedi
- User Role
- User Role and Capabilities
Oppure puoi scriverlo nel file functions.php del tuo tema
- consulta Ruoli & Capabilities nel WP Codex per i dettagli
- e leggi questa guida facile da comprendere su come aggiungere quelle capabilities da solo
Personalmente, preferisco scriverlo nel functions.php piuttosto che installare un plugin. È più sicuro e generalmente mantiene il tuo sito più veloce.

Per prima cosa, scegli un ruolo WordPress che avrà il tuo scrittore: autore, collaboratore, editore... o un ruolo personalizzato.
Poi personalizza il ruolo scelto con le capacità nel file functions.php del tuo tema:
if ( ! function_exists( 'writer_set_roles' ) ):
function writer_set_roles()
{
global $wp_roles;
// modifica post/pagine
$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');
// aspetto
$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');
// esempio per capacità dei plugin
$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' );
Puoi trovare tutte le capacità in questo file: https://github.com/WordPress/WordPress/blob/master/wp-admin/includes/schema.php
o nella documentazione. https://codex.wordpress.org/Roles_and_Capabilities
