| 1 | <?php |
|---|
| 2 | /* |
|---|
| 3 | Plugin Name: Menu Test |
|---|
| 4 | Plugin URI: http://wordpress.org |
|---|
| 5 | Description: Menu Test |
|---|
| 6 | Author: Nobody |
|---|
| 7 | Author URI: http://example.com |
|---|
| 8 | */ |
|---|
| 9 | |
|---|
| 10 | // Hook for adding admin menus |
|---|
| 11 | add_action('admin_menu', 'mt_add_pages'); |
|---|
| 12 | |
|---|
| 13 | // action function for above hook |
|---|
| 14 | function mt_add_pages() { |
|---|
| 15 | global $menu, $submenu; |
|---|
| 16 | // Add a new submenu under Options: |
|---|
| 17 | add_options_page('Test Options', 'Test Options', 8, 'testoptions', 'mt_options_page'); |
|---|
| 18 | |
|---|
| 19 | // Add a new submenu under Manage: |
|---|
| 20 | add_management_page('Test Manage', 'Test Manage', 8, 'testmanage', 'mt_manage_page'); |
|---|
| 21 | |
|---|
| 22 | // Add a new top-level menu (ill-advised): |
|---|
| 23 | add_menu_page('Test Toplevel', 'Test Toplevel', 8, 'mt-toplevel-test', 'mt_toplevel_page'); |
|---|
| 24 | |
|---|
| 25 | // Add a submenu to the custom top-level menu: |
|---|
| 26 | add_submenu_page('mt-toplevel-test', 'Test Sublevel', 'Test Sublevel', 8, 'sub-page', 'mt_sublevel_page'); |
|---|
| 27 | |
|---|
| 28 | // Add a second submenu to the custom top-level menu: |
|---|
| 29 | add_submenu_page('mt-toplevel-test', 'Test Sublevel 2', 'Test Sublevel 2', 8, 'sub-page2', 'mt_sublevel_page2'); |
|---|
| 30 | |
|---|
| 31 | //Same as above, But using the old __FILE__ method |
|---|
| 32 | // Add a new top-level menu (ill-advised): |
|---|
| 33 | add_menu_page('2Test Toplevel', '2Test Toplevel', 8, __FILE__, 'mt_toplevel_page'); |
|---|
| 34 | |
|---|
| 35 | // Add a submenu to the custom top-level menu: |
|---|
| 36 | add_submenu_page(__FILE__, '2Test Sublevel', '2Test Sublevel', 8, '2sub-page', 'mt_sublevel_page'); |
|---|
| 37 | |
|---|
| 38 | // Add a second submenu to the custom top-level menu: |
|---|
| 39 | add_submenu_page(__FILE__, '2Test Sublevel 2', '2Test Sublevel 2', 8, '2sub-page2', 'mt_sublevel_page2'); |
|---|
| 40 | } |
|---|
| 41 | |
|---|
| 42 | // mt_options_page() displays the page content for the Test Options submenu |
|---|
| 43 | function mt_options_page() { |
|---|
| 44 | echo "<h2>Test Options</h2>"; |
|---|
| 45 | } |
|---|
| 46 | |
|---|
| 47 | // mt_manage_page() displays the page content for the Test Manage submenu |
|---|
| 48 | function mt_manage_page() { |
|---|
| 49 | echo "<h2>Test Manage</h2>"; |
|---|
| 50 | } |
|---|
| 51 | |
|---|
| 52 | // mt_toplevel_page() displays the page content for the custom Test Toplevel menu |
|---|
| 53 | function mt_toplevel_page() { |
|---|
| 54 | echo "<h2>Test Toplevel</h2>"; |
|---|
| 55 | } |
|---|
| 56 | |
|---|
| 57 | // mt_sublevel_page() displays the page content for the first submenu |
|---|
| 58 | // of the custom Test Toplevel menu |
|---|
| 59 | function mt_sublevel_page() { |
|---|
| 60 | echo "<h2>Test Sublevel</h2>"; |
|---|
| 61 | } |
|---|
| 62 | |
|---|
| 63 | // mt_sublevel_page2() displays the page content for the second submenu |
|---|
| 64 | // of the custom Test Toplevel menu |
|---|
| 65 | function mt_sublevel_page2() { |
|---|
| 66 | echo "<h2>Test Sublevel 2</h2>"; |
|---|
| 67 | } |
|---|
| 68 | |
|---|
| 69 | ?> |
|---|