【问题标题】:Changing WordPress backend layout (removing certain tabs)更改 WordPress 后端布局(删除某些选项卡)
【发布时间】:2021-08-27 05:32:05
【问题描述】:

目前,如果任何用户(除了管理员)登录到WordPress 后端,它会向他们显示以下选项卡:

我想做的是:

  1. 删除dashboard 标签
  2. 删除profile 标签
  3. 默认打开WooCommerce orders 选项卡(这样它会在用户登录时立即显示)。

基本上是这样的:

为此,我尝试了以下方法:

function remove_profile_menu() {
  if ( !is_admin() ) {
    remove_submenu_page(‘users.php’, ‘profile.php’);
    remove_menu_page(‘profile.php’);
  }
}

add_action('admin_menu', 'remove_profile_menu');

function remove_dashboard_menu() {
  if ( !is_admin() ) {
    remove_submenu_page(dashbourd.php’);
    remove_menu_page(dashboard.php’);
  }
}

add_action('admin_menu', 'remove_dashboard_menu');

但是上面运行时什么都不做?

【问题讨论】:

  • "目前,如果任何用户(除了管理员)登录到 WordPress 后端,它会向他们显示以下选项卡:" 这不是默认行为,因此通过自定义获取代码和/或插件。你能澄清一下吗?你在你的问题中没有提到这一点。您的代码“dashboard”中也有错字。问候
  • 除了@7uc1f3r 答案,我建议创建一个自定义角色,该角色将添加到用户中以管理页面或内容的隐藏/显示。在我眼里会更干净。
  • @7uc1f3r - 澄清一下,您是说默认显示dashboardprofile 不是默认行为吗?我唯一激活的与角色相关的插件是wordpress.org/plugins/capability-manager-enhanced。但是,这个插件没有提供任何关于在该用户管理员上显示哪些选项卡

标签: php html wordpress woocommerce


【解决方案1】:

您给定的代码有几个问题。

  1. 语法错误。
  2. 错误的函数 - is_admin 用于检查当前页面是否属于 wp-admin。我猜你想检查“是当前用户管理员” - 为此你应该使用 current_user_can 函数。

这是适用于您的案例的工作代码:

function remove_dashboard_menu() {
  if (!current_user_can('administrator') ) {
    remove_menu_page('index.php');
    remove_menu_page('users.php');
  }
}

add_action('admin_menu', 'remove_dashboard_menu');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-08
    • 2011-08-08
    • 1970-01-01
    相关资源
    最近更新 更多