Pas en mesure de donner aux éditeurs un accès au nouvel élément de menu admin
-
16-10-2019 - |
Question
J'ajoute un élément de menu supplémentaire dans le menu admin en utilisant add_menu_page .
add_menu_page('Calendar', 'Calendar', 'edit_posts', 'wp-eventcal/eventcal-manager.php');
Encore mes éditeurs ne voient pas l'élément de menu. Pourquoi pas? Tout utilisateur qui peut modifier un poste, devrait maintenant être en mesure de voir l'élément de menu.
Mise à jour
Voici le code:
// Define some constants
define('WP_CAL_PLUGIN_DIR', trailingslashit( str_replace("\\","/", dirname(__FILE__) ) ) );
define('WP_CAL_PLUGIN_URL', trailingslashit( str_replace("\\","/", dirname(__FILE__) ) ) );
// Plugin activation / deactivation script
register_activation_hook(__FILE__,'event_cal_install');
// create custom plugin settings menu
if ( function_exists('add_action') ) {
add_action('admin_menu', 'event_cal_menu');
add_shortcode('eventcal', 'shortcode_display_event');
}
function event_cal_menu() {
//create new top-level menu
add_menu_page('Calendar', 'Calendar', 'read', 'wp-eventcal/eventcal-manager.php');
}
pourrait-il admin_init
en add_action
qui me donne des problèmes?
Mise à jour 2 Si je me connecte en tant qu'administrateur, je peux voir l'élément de menu.
La solution
Doit être un problème avec le code environnant, votre code add_menu_page
fonctionne très bien dans mon code de test, je peux voir l'élément comme administrateur ou éditeur.
add_action( 'admin_menu' , 'admin_menu_new_items' );
function admin_menu_new_items() {
add_menu_page('Calendar', 'Calendar', 'edit_posts', 'wp-eventcal/eventcal-manager.php');
}
fonctionne très bien pour moi ..
Utilisez-vous des plugins pour gérer le menu d'administration, comme Adminize? Ou bien utiliser un CSS à des éléments cacher dans le menu? Seulement deux raisons que je pouvais penser qu'il serait caché (à part d'un problème avec le code environnant).