$submenuItems) { if (!isset($parent) || strpos($parent, '.php') === false) { $parent = 'admin.php'; } $subItems = array_map(function ($item) use ($parent) { return strpos($item, '.php') === false ? sprintf('%s?page=%s', $parent, $item) : $item; }, array_column($submenuItems, 2)); array_push($allPages, ...$subItems); } $allPages = array_values(array_filter($allPages, function ($page) { return strpos($page, 'http') === false; })); foreach ($allPages as &$page) { $page = str_replace($adminUrl, '', $page); if (strpos($page, '.php') === false) { $page = 'admin.php?page=' . $page; } } unset($page); set_transient(self::$transient, $allPages); } public static function remove($plugin) { \delete_transient(self::$transient); } }