使菜单页面链接不可访问或禁用

时间:2016-08-22 作者:Annapurna

我想为管理员以外的用户禁用/隐藏菜单页。我能够按照以下逻辑成功地做到这一点。但菜单页面通过url显示。

<?php 
function custom_menu_page_removing() {
    remove_menu_page( $menu_slug );
}
add_action( \'admin_menu\', \'custom_menu_page_removing\' );
?>
有没有办法也通过url禁用菜单页?

提前感谢:)

1 个回复
最合适的回答,由SO网友:Ethan O\'Sullivan 整理而成

为此,请使用以下功能:

add_action( \'admin_menu\', \'custom_menu_page_removing\' );

function custom_menu_page_removing() {
    global $pagenow;

    if ( !current_user_can( \'administrator\' ) ) {
        $menu = array(
            \'edit.php\',
            \'edit-comments.php\'
            );
        foreach ( $menu as $main ) {
            remove_menu_page( $main );
        }
        if ( in_array( $pagenow, $menu, true ) && ( !isset( $_GET[\'post_type\'] ) || isset( $_GET[\'post_type\'] ) && $_GET[\'post_type\'] == \'post\' ) ) {
            wp_die( \'Access denied...\' );
            exit;
        }
    }
}
仅当用户not 管理员。你看到的地方edit.phpedit-comments.php, 您可以替换和添加更多要隐藏的菜单段塞。确保添加, 除最后一个外,每一个之后。