Permettere agli utenti di modificare solo la propria pagina e nessun'altra
Attualmente abbiamo circa 50 pagine, e voglio che ogni utente (ad esempio, bob, rob, smith) possa modificare solo 1 pagina specifica. Per esempio, bob e smith hanno ognuno la propria pagina. Non voglio che bob possa modificare la pagina di smith. Voglio che bob possa modificare SOLO la pagina di bob. Non mi interessa se può vedere altre pagine. Esaminando i ruoli utente, non trovo un modo per farlo attualmente - vedo solo come limitare l'accesso a livello globale.
Esistono plugin per limitare l'accesso in modifica per utente, o ruoli limitati alla modifica di pagine specifiche in modo da poter aggiungere 1 utente per ruolo? Oppure c'è un modo per farlo con le impostazioni predefinite che mi sono sfuggito?

Puoi aggiungere questo al tuo file functions.php
nel tuo template per permettere all'utente di modificare le pagine che ha creato e gestire i media. Basta specificare il loro $user_id
(ad esempio 27):
function add_theme_caps() {
// per aggiungere le capability a $user_id
$user = new WP_User( $user_id );
$user->add_cap( 'edit_pages' );
$user->add_cap( 'edit_published_pages' );
$user->add_cap( 'upload_files' );
}
add_action( 'admin_init', 'add_theme_caps' );
Puoi trovare lo $user_id
specifico di un utente dall'URL quando modifichi un utente specifico dalla pagina di amministrazione di Wordpress.
Vedi la lista completa delle capability di Wordpress.
Se preferisci modificare il ruolo predefinito contributor
per permettere a tutti gli utenti con il ruolo contributor
di modificare le pagine che hanno creato:
function add_theme_caps() {
// per aggiungere le capability al ruolo `contributor`
$role = get_role( 'contributor' );
$role->add_cap( 'edit_pages' );
$role->add_cap( 'edit_published_pages' );
$role->add_cap( 'upload_files' );
}
add_action( 'admin_init', 'add_theme_caps' );

Il plugin Role Scoper può abilitare questa funzionalità.

Puoi anche modificare direttamente la tabella di WordPress. Sembrava che phpAdmin fosse un modo più veloce per procedere.
La tabella è
wp_usermeta
Cerca il user_id, modifica il valore per
wp_capabilities
e impostalo a qualcosa come
a:4:{s:11:"contributor";b:1;b:1;s:10:"edit_pages";b:1;s:20:"edit_published_pages";b:1;s:12:"upload_files";b:1;}
Ho trovato http://www.unserialize.me/ utile per assicurarmi che la serializzazione fosse corretta (e immagino ci siano anche altri siti simili)
