Some menu items wont budge

时间:2018-03-16 作者:cjones

add_action(\'admin_menu\', \'remove_admin_menu_links\');
        function remove_admin_menu_links(){
            $user = wp_get_current_user();
            if( $user && isset($user->user_email) && \'[email protected]\' == $user->user_email ) {

                remove_menu_page(\'upload.php\'); // Media - works(remove)

                remove_menu_page( \'gf_edit_forms\' ); //Forms - doesn\'t work(visibile)

                remove_menu_page(\'edit.php?post_type=page\'); // Pages - works(removed)

                remove_menu_page(\'wpseo_dashboard\'); // SEO  - works(remove)
                remove_menu_page(\'admin.php?page=wpseo_dashboard\'); // SEO  - works(remove)

                remove_menu_page(\'envanto-market\'); // Envanto Market  - doesn\'t work(visibile)
                remove_menu_page(\'admin.php?page=envanto-market\'); // Envanto Market - doesn\'t work(visibile)

                remove_menu_page(\'gadwp_settings\'); // Google Analytics - doesn\'t work(visibile)
                remove_menu_page(\'admin.php?page=gadwp_settings\'); // Google Analytics - doesn\'t work(visibile)
        }
    }

add_action( \'admin_menu\', \'remove_admin_menus_links\' , 9999 );
上面概述的显示了为从特定管理员用户菜单项中删除菜单项而添加的操作。

我似乎无法删除表单、Envanto Market或Google Analytics。其余的菜单项都被删除了,但我不明白为什么这几个菜单项看起来没有移动。

如果有人知道为什么这些菜单项仍然可用?

此外,页面顶部的admin\\u bar\\u菜单和new\\u Post选项中还有这些菜单项的完整列表。如果有人能给我指出正确的方向,让我也移除这些?

我尝试添加到functions.php:

// admin_bar_menu hook
add_action(\'admin_bar_menu\', \'update_adminbar\', 999);
/plugins/admin_bar.php :

<?php
// update toolbar
function update_adminbar($wp_adminbar) {

  // remove unnecessary items
  $wp_adminbar->remove_node(\'wp-logo\');
  $wp_adminbar->remove_node(\'customize\');
  $wp_adminbar->remove_node(\'comments\');
  $wp_adminbar->remove_node(\'post-new\');

}
?>

2 个回复
最合适的回答,由SO网友:Beee 整理而成

管理栏连接错误。它应该连接到wp_before_admin_bar_render.

这是我使用的(并且有效):

function alter_admin_bar() {
    global $wp_admin_bar;
    $wp_admin_bar->remove_menu( \'customize\' );
    $wp_admin_bar->remove_menu( \'ddw-gravityforms-toolbar\' );
    $wp_admin_bar->remove_menu( \'members-new-role\' );
    $wp_admin_bar->remove_menu( \'new-media\' );
    $wp_admin_bar->remove_menu( \'new-post\' );
    $wp_admin_bar->remove_menu( \'new-user\' );
    $wp_admin_bar->remove_menu( \'wp-logo\' );
}
add_action( \'wp_before_admin_bar_render\', \'alter_admin_bar\' );
关于配菜我不知道。我的第一个猜测是您使用的标识符不正确。

SO网友:Alin

您的回调函数名有一个输入错误。

add_action( \'admin_menu\', \'remove_admin_menus_links\' , 9999 );
应为:

add_action( \'admin_menu\', \'remove_admin_menu_links\' , 9999 );
如果您纠正了这一点,稍后将触发该操作,并且GADWP菜单链接将被删除。

结束