WordPress Version: 6.1
/**
* Adds a submenu page to the Users/Profile main menu.
*
* This function takes a capability which will be used to determine whether
* or not a page is included in the menu.
*
* The function which is hooked in to handle the output of the page must check
* that the user has the required capability as well.
*
* @since 2.1.3
* @since 5.3.0 Added the `$position` parameter.
*
* @param string $page_title The text to be displayed in the title tags of the page when the menu is selected.
* @param string $menu_title The text to be used for the menu.
* @param string $capability The capability required for this menu to be displayed to the user.
* @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu).
* @param callable $callback Optional. The function to be called to output the content for this page.
* @param int $position Optional. The position in the menu order this item should appear.
* @return string|false The resulting page's hook_suffix, or false if the user does not have the capability required.
*/
function add_users_page($page_title, $menu_title, $capability, $menu_slug, $callback = '', $position = null)
{
if (current_user_can('edit_users')) {
$parent = 'users.php';
} else {
$parent = 'profile.php';
}
return add_submenu_page($parent, $page_title, $menu_title, $capability, $menu_slug, $callback, $position);
}