Quindi sto avendo dei problemi con questo e non riesco a capire perché. Ho solo bisogno di un ruolo personalizzato che possa accedere al blog nel back-end.
Ho aggiunto un nuovo tipo di post con un tipo di capacità blog
e un nuovo ruolo utente con tutti i limiti che consentirebbero agli utenti di accedere all'amministratore di aggiungere / modificare il tipo di post personalizzato. Questo funziona per gli amministratori e possono accedere al tipo di post nel back-end. Tuttavia, gli utenti con il mio ruolo personalizzato non possono accedere al back-end.
Post tipo args di nota
"capability_type" => 'blog',
"map_meta_cap" => true,
Registra ruolo
function add_blog_manager_role(){
add_role(
'blog_manager',
'Blog Manager',
array(
'read' => true,
'edit_posts' => false,
'delete_posts' => false,
'publish_posts' => false,
'upload_files' => true
)
);
}
add_action( 'admin_init', 'add_blog_manager_role', 4 );
Aggiungi tappi
function add_blog_role_caps() {
$roles = array('blog_manager', 'editor','administrator');
foreach($roles as $the_role) {
$role = get_role($the_role);
$role->add_cap( 'read' );
$role->add_cap( 'read_blog');
$role->add_cap( 'read_private_blog' );
$role->add_cap( 'edit_blog' );
$role->add_cap( 'edit_others_blog' );
$role->add_cap( 'edit_published_blog' );
$role->add_cap( 'publish_blog' );
$role->add_cap( 'delete_others_blog' );
$role->add_cap( 'delete_private_blog' );
$role->add_cap( 'delete_published_blog' );
}
}
add_action('admin_init', 'add_blog_role_caps', 5 );
Ho cercato su Google freneticamente di cercare la causa di questo. Ho provato con maiuscole plurale, non plurale, ho provato ad aggiungere funzionalità negli argomenti di tipo post. Tuttavia, non riesco mai ad entrare nel back-end. Non ho nessun altro codice nel tema che potrebbe espellere gli utenti dall'amministratore (ho rimosso il mio codice che li ha espulsi durante il test)
Modifica Qui puoi vedere un dump delle capacità di blog_manager dal database, ci sono un bel po 'di test BS lasciati lì, bu / t che non dovrebbero impedire loro di accedere da ciò che conosco.
'blog_manager' => array (
'name' => 'Blog Manager',
'capabilities' => array (
'read' => true,
'edit_posts' => false,
'delete_posts' => false,
'publish_posts' => false,
'upload_files' => true,
'read_blog' => true,
'read_private_blog' => true,
'edit_blog' => true,
'edit_others_blog' => true,
'edit_published_blog' => true,
'publish_blog' => true,
'delete_others_blog' => true,
'delete_private_blog' => true,
'delete_published_blog' => true,
'blog' => true,
'read_private_blogs' => true,
'edit_blogs' => true,
'edit_others_blogs' => true,
'edit_published_blogs' => true,
'publish_blogs' => true,
'delete_others_blogs' => true,
'delete_private_blogs' => true,
'delete_published_blogs' => true,
'delete_blogs' => true,
'delete_blog' => true,
),
)