J'essaie de supprimer la page export.php du menu d'administration de WordPress -> des outils pour un multisite afin que seul l'administrateur du réseau puisse la voir.
J'ai le code suivant jusqu'à présent, mais je n'arrive pas à le faire fonctionner.
//***************************************************
// Remove export Page
//***************************************************
function remove_menu_export_pages() {
remove_menu_page('export.php');
}
add_action( 'admin_init', 'remove_menu_export_pages' );
Comment puis-je résoudre ça?
En cas de doute sur une fonction WordPress, consultez le Codex: Function_Reference/remove_menu_page .
La fonction correcte est remove_submenu_page
accroché à admin_menu
.
add_action( 'admin_menu', 'remove_submenu_wpse_82873' );
function remove_submenu_wpse_82873()
{
global $current_user;
get_currentuserinfo();
// If user not Super Admin remove export page
if ( !is_super_admin() )
{
remove_submenu_page( 'tools.php', 'export.php' );
}
}
Et ensuite, vous voudrez probablement également bloquer l'accès direct à cette page via l'adresse URL (http://example.com/wp-admin/export.php
):
add_action( 'admin_head-export.php', 'prevent_url_access_wpse_82873' );
function prevent_url_access_wpse_82873()
{
global $current_user;
// Only Super Admin Authorized, exit if user not
if ( !is_super_admin() ) {
// User not authorized to access page, redirect to dashboard
wp_redirect( admin_url( 'index.php' ) );
exit;
}
}