# Possible to add a panel menu item from inside a plugin?

**URL:** <https://forum.getkirby.com/t/possible-to-add-a-panel-menu-item-from-inside-a-plugin/31224>\
**Category:** Questions\
**Tags:** v4\
**Created:** [March 26, 2024, 10:36am UTC](https://forum.getkirby.com/t/possible-to-add-a-panel-menu-item-from-inside-a-plugin/31224 "2024-03-26T10:36:23Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sam\_Ghyselinck](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/sam_ghyselinck/32/13353_2.png) [@Sam\_Ghyselinck](https://forum.getkirby.com/u/Sam_Ghyselinck)\
**Post date:** [March 26, 2024, 10:36am UTC](https://forum.getkirby.com/t/possible-to-add-a-panel-menu-item-from-inside-a-plugin/31224/1 "2024-03-26T10:36:23Z")

</div>

I know it’s possible to add custom menu items to the panel, like in the example below ([source](https://getkirby.com/docs/reference/system/options/panel#panel-menu)).

But can the same be accomplished from inside a plugin?

```auto
return [
  'panel' => [
    'menu' => [
      'site' => [
        'label' => 'Overview'
      ],
      '-',
      'form-submissions' => [
        'icon' => 'archive',
        'label' => 'Form Submissions',
        'link' => 'pages/form-submissions',
        'current' => function (string $current): bool {
          $path = Kirby\Cms\App::instance()->request()->path()->toString();
          return Str::contains($path, 'pages/form-submissions');
        }
      ],
      'users'
    ]
  ]
];

```

---

<div class="post-metadata">

**Author:** ![texnixe](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/texnixe/32/5754_2.png) [@texnixe](https://forum.getkirby.com/u/texnixe)\
**Post date:** [March 26, 2024, 10:57am UTC](https://forum.getkirby.com/t/possible-to-add-a-panel-menu-item-from-inside-a-plugin/31224/2 "2024-03-26T10:57:59Z")

</div>

No, it’s a config option, not an extension type.

---

<div class="post-metadata">

**Author:** ![Sam\_Ghyselinck](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/sam_ghyselinck/32/13353_2.png) [@Sam\_Ghyselinck](https://forum.getkirby.com/u/Sam_Ghyselinck)\
**Post date:** [March 26, 2024, 11:07am UTC](https://forum.getkirby.com/t/possible-to-add-a-panel-menu-item-from-inside-a-plugin/31224/3 "2024-03-26T11:07:18Z")

</div>

Okay, I’m now trying with a custom panel area. It’s working but highlighting the current menu item isn’t. Is this fixable?

```auto
  'areas' => [
      'form-submissions' => function ($kirby) {
        return [
          'label' => 'Form submissions',
          'icon' => 'archive',
          'link' => 'pages/form-submissions',
        ];
      }
    ],

```

---

<div class="post-metadata">

**Author:** ![texnixe](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/texnixe/32/5754_2.png) [@texnixe](https://forum.getkirby.com/u/texnixe)\
**Post date:** [March 26, 2024, 12:47pm UTC](https://forum.getkirby.com/t/possible-to-add-a-panel-menu-item-from-inside-a-plugin/31224/4 "2024-03-26T12:47:12Z")

</div>

Try and set

```auto
'menu' => true,

```

---

<div class="post-metadata">

**Author:** ![Sam\_Ghyselinck](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/sam_ghyselinck/32/13353_2.png) [@Sam\_Ghyselinck](https://forum.getkirby.com/u/Sam_Ghyselinck)\
**Post date:** [March 26, 2024, 1:52pm UTC](https://forum.getkirby.com/t/possible-to-add-a-panel-menu-item-from-inside-a-plugin/31224/5 "2024-03-26T13:52:30Z")

</div>

This works for adding it as a menu item, but you can’t change the current item behaviour as shown in the previous example. (Now you will get the problem that the site item is highlighted instead of the new area item.
