Todo bien, tengo los post types creados, los nuevos roles de usuarios, puedo agregar usuarios y asignarles esos roles, pero al intentar acceder al administrador de wordpress con esos usuarios, me lanza un error:
Cita:
Con esta función registro los post types y les asigno las capability_type('singular', 'plural') y las capabilities(array ...)Notice: Undefined index: in /home/rogertm/WebServer/wp-gd/wp-admin/includes/menu.php on line 219
You do not have sufficient permissions to access this page.
You do not have sufficient permissions to access this page.
Código PHP:
Ver original
<?php add_action('init', 'isadg_register_post_tax'); function isadg_register_post_tax() { // Register post type 'n_fondo' => array ( 'post-type' => 'fondo', 'singular' => 'Fondo', 'plural' => 'Fondos', 'plurals' => 'fondos' ), 'n_subfondo' => array ( 'post-type' => 'subfondo', 'singular' => 'Sub Fondo', 'plural' => 'Sub Fondos', 'plurals' => 'subfondos' ), // n post types ); foreach ( $isadg_post_type as $i_post_type => $i_post_type_value ) : // n argumentos 'edit_post' => 'edit_'.$i_post_type_value['post-type'], 'edit_posts' => 'edit_'.$i_post_type_value['plurals'], 'edit_others_posts' => 'edit_'.$i_post_type_value['plurals'], 'publish_posts' => 'publish_'.$i_post_type_value['plurals'], 'read_posts' => 'read_'.$i_post_type_value['plurals'], 'delete_post' => 'delete_'.$i_post_type_value['post-type'] ) ); register_post_type($i_post_type_value['post-type'], $args); endforeach; } ?>
Esta otra función agrega los nuevos roles de usuarios y sus correspondientes capabilities:
Código PHP:
Supongo que el error está dado en la función que me crea el menú del plugin:Ver original
<?php add_action('init','isadg_add_roles'); function isadg_add_roles() { // We create custom user roles 'user-archivero-editor' => array ( 'user-role' => 'archivero-editor', 'role-name' => 'Archivero Editor' ) ); foreach ( $isadg_user_roles as $user_role => $user_role_value ) : add_role( $user_role_value['user-role'], $user_role_value['role-name'] ); endforeach; // We asing capabilities for custom user roles // ... ); // Role Administrator. Native of Wordpress $isadg_admin = get_role('administrator'); foreach ( $isadg_capabilities as $i_cap => $i_cap_value ) : $isadg_admin->add_cap( 'read_'.$i_cap_value['singular'] ); $isadg_admin->add_cap( 'edit_'.$i_cap_value['singular'] ); $isadg_admin->add_cap( 'edit_'.$i_cap_value['plural'] ); $isadg_admin->add_cap( 'edit_others_'.$i_cap_value['plural'] ); $isadg_admin->add_cap( 'publish_'.$i_cap_value['plural'] ); $isadg_admin->add_cap( 'delete_'.$i_cap_value['singular'] ); endforeach; // Role Archivero $isadg_archivero = get_role('archivero'); foreach ( $isadg_capabilities as $i_cap => $i_cap_value ) : $isadg_archivero->add_cap( 'read_'.$i_cap_value['singular'] ); $isadg_archivero->add_cap( 'edit_'.$i_cap_value['singular'] ); $isadg_archivero->add_cap( 'publish_'.$i_cap_value['plural'] ); endforeach; } ?>
Código PHP:
en el tercer parámetro: 'manage_options', pero no hay un ejemplo claro en la documentación de wordpress (http://codex.wordpress.org/Function_.../add_menu_page), solo que es un string obligatorio.Ver original
<?php add_menu_page('WP-ISAD(G)', 'WP-ISAD(G)', 'manage_options', 'wp-isadg', 'wp_isadg_settings', plugins_url('/img/icon.png', __FILE__), 25); ?>
Desde ya agradecido por la ayuda que me puedan ofrecer.