Cum să creezi permisiuni personalizate pentru un tip de utilizator
În prezent, doresc să implementez un sistem în care autorii de pe site-ul meu să necesite aprobarea unui administrator înainte ca conținutul lor să fie publicat, dar să le permită în continuare să efectueze alte acțiuni precum încărcarea imaginilor, adăugarea de etichete etc. Nivelurile standard de permisiuni din WordPress sunt fie prea restrictive, fie permit autorilor să publice singuri.
Știu că în Drupal există o modalitate simplă de a edita permisiunile pentru tipurile de conturi, dar mă întrebam dacă există vreo metodă de a obține un nivel similar de funcționalitate în WordPress.

Pluginuri care ar face asta sunt:
- WPFront User Role Editor -- versiunile gratuită și plătită fac ambele ceea ce ceri
- User Role
- User Role and Capabilities
Sau poți scrie acest lucru în functions.php al temei tale
- consultă Roles & Capabilities în WP Codex pentru detalii
- și citește acest ghid ușor de înțeles despre cum să adaugi aceste capabilități singur
Personal, prefer să scriu acest lucru în functions.php decât să instalez un plugin. Este mai sigur și de obicei menține site-ul tău mai rapid.

Mai întâi, alegeți un rol WordPress pe care îl va avea scriitorul dvs.: autor, contributor, editor... sau un rol personalizat.
Apoi personalizați rolul ales cu capacități în fișierul functions.php al temei:
if ( ! function_exists( 'writer_set_roles' ) ):
function writer_set_roles()
{
global $wp_roles;
// editare postări / pagini
$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');
// aspect
$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');
// exemplu pentru capacități 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' );
Puteți găsi toate capacitățile în acest fișier: https://github.com/WordPress/WordPress/blob/master/wp-admin/includes/schema.php
Sau în documentație: https://codex.wordpress.org/Roles_and_Capabilities
