The add_media_page() WordPress PHP function adds a submenu page to the Media main menu in your WordPress admin dashboard.
Usage
To use the add_media_page() function, you would typically include it in a function that you then attach to the ‘admin_menu’ hook.
Here’s an example:
function my_media_subpage() {
add_media_page(
'My Media Subpage', // Page title
'Media Subpage', // Menu title
'manage_options', // Capability
'my-media-subpage', // Menu slug
'my_media_subpage_content' // Callback function
);
}
add_action('admin_menu', 'my_media_subpage');
function my_media_subpage_content() {
echo 'Welcome to my media subpage!';
}
Parameters
- $page_title (string): The text to be displayed in the title tags of the page when the menu is selected.
- $menu_title (string): The text to be used for the menu.
- $capability (string): The capability required for this menu to be displayed to the user.
- $menu_slug (string): The slug name to refer to this menu by (should be unique for this menu).
- $callback (callable, optional): The function to be called to output the content for this page. Default is ”.
- $position (int, optional): The position in the menu order this item should appear. Default is null.
More information
See WordPress Developer Resources: add_media_page()
The add_media_page() function is part of WordPress core and is not deprecated. The source code for this function is located in wp-admin/includes/plugin.php.
Examples
Add a media submenu with basic text output
This creates a new media submenu page that outputs a simple welcome message when visited.
function my_media_subpage() {
add_media_page('My Media Subpage', 'Media Subpage', 'manage_options', 'my-media-subpage', 'my_media_subpage_content');
}
add_action('admin_menu', 'my_media_subpage');
function my_media_subpage_content() {
echo 'Welcome to my media subpage!';
}
Add a media submenu with custom HTML output
This example creates a new media submenu page that outputs some custom HTML when visited.
function my_media_subpage() {
add_media_page('My Media Subpage', 'Media Subpage', 'manage_options', 'my-media-subpage', 'my_media_subpage_content');
}
add_action('admin_menu', 'my_media_subpage');
function my_media_subpage_content() {
echo '<h1>Welcome to my media subpage!</h1><p>Enjoy your stay.</p>';
}
Add a media submenu with position
This example creates a new media submenu page at a specific position in the submenu list.
function my_media_subpage() {
add_media_page('My Media Subpage', 'Media Subpage', 'manage_options', 'my-media-subpage', 'my_media_subpage_content', 5);
}
add_action('admin_menu', 'my_media_subpage');
function my_media_subpage_content() {
echo 'Welcome to my media subpage!';
}
Add a media submenu with different capability
This example creates a new media submenu page that can only be viewed by administrators.
function my_media_subpage() {
add_media_page('My Media Subpage', 'Media Subpage', 'activate_plugins', 'my-media-subpage', 'my_media_subpage_content');
}
add_action('admin_menu', 'my_media_subpage');
function my_media_subpage_content() {
echo 'Welcome to my media subpage!';
}
Add a media submenu with a complex callback
This example creates a new media submenu page that outputs complex HTML and uses WordPress functions in its callback.
function my_media_subpage() {
add_media_page('My Media Subpage', 'Media Subpage', 'manage_options', 'my-media-subpage', 'my_media_subpage_content');
}
add_action('admin_menu', 'my_media_subpage');
function my_media_subpage_content() {
echo '<h1>Welcome to my media subpage!</h1>';
if(current_user_can('manage_options')) {
echo '<p>You are an administrator.</p>';
} else {
echo '<p>You are not an administrator.</p>';
}
}
These examples should give you a good idea of the flexibility and capabilities of the add_media_page() function.