Wordpress 全局 $menu 未显示自定义插件中的所有菜单项

发布时间:2021-02-25 08:58

我创建了一个 php 函数,它改变了一些 wp 管理菜单项的名称。当我将此代码添加到我的自定义主题的 function.php 时,它运行良好。但是当我将相同的代码添加到自定义插件时,我无法获得所有菜单项。我只能编辑主要的 wp 管理菜单项,如帖子、页面、设置、插件等。但不能编辑其他插件菜单项。

代码:

if (!function_exists('admin_menu_rename')) {
  function admin_menu_rename() {
    global $menu, $submenu;
    if ($menu) {
      foreach ($menu as $key => $value) {
        if ($value[0] == "originalname") {
          var_dump($key);
          $menu[$key][0] = "newname";
          $menu[$key][6] = "other icon";
        }
      }
    }
  }
  add_action( 'admin_menu', 'admin_menu_rename' );
}

为什么这段代码在主题 function.php 中可以正常工作,但在插件文件中却不能完全正常工作?

回答1