Make WordPress Core

Ticket #5001: menutester.php

File menutester.php, 4.2 KB (added by jhodgdon, 17 years ago)

Plugin for testing

Line 
1<?php
2/* vim: set expandtab tabstop=4 shiftwidth=4: */
3/**
4 * Plugin Name: menutester
5 * Plugin URI: http://localhost
6 * Description: WordPress plugin to test plugin admin menus
7 * Version: $version$
8 * Author: Mike Walsh
9 * Author URI: http://localhost
10 * License: GPL
11 *
12 * (c) 2007 by Mike Walsh
13 */
14
15//error_reporting(E_ALL) ;
16
17/**
18 * Menu Tester page content
19 *
20 * @param string - content to be displayed within the div.
21 *
22 */
23function menutester_page_content($content)
24{
25    printf("<div class=\"wrap\">\n%s\n</div>\n", $content) ;
26}
27
28// Hook for adding admin menus
29add_action('admin_menu', 'menutester_add_pages') ;
30
31
32/**
33 * Add pages action for admin hook
34 *
35 * This function adds all of the plugin admin menus.
36 *
37 */
38function menutester_add_pages()
39{
40    $accessLevel = 8 ;
41    $menutesterFileName = plugin_basename(__FILE__);
42
43    // Add a new submenu under Options:
44    add_options_page('Menu Tester', 'Menu Tester',
45        $accessLevel, $menutesterFileName, 'menutester_options_page') ;
46
47    // Add a new top-level menu
48    add_menu_page('Menu Tester', 'Menu Tester',
49        $accessLevel, $menutesterFileName, 'menutester_sublevel_tab_1') ;
50
51    // Add a submenu to the custom top-level menu:
52    add_submenu_page($menutesterFileName, 'Menu Tester Tab 1',
53        'Menu Tester  Tab 1', $accessLevel, $menutesterFileName,
54        'menutester_sublevel_tab_1') ;
55
56    // Add a second submenu to the custom top-level menu:
57    add_submenu_page($menutesterFileName, 'Menu Tester Tab 2',
58        'Menu Tester Tab 2', $accessLevel, 'menutester_tab2',
59        'menutester_sublevel_tab_2') ;
60
61    // Add a second submenu to the custom top-level menu:
62    add_submenu_page($menutesterFileName, 'Menu Tester Tab 3',
63        'Menu Tester Tab 3', $accessLevel, 'menutester_tab3',
64        'menutester_sublevel_tab_3') ;
65
66    // Option, Management, and Theme (aka Presentation) menus MUST
67    // be added after new top level and connected sub-menus are defined.
68    // Doing this out of order will result in the submenus not working.
69
70    // Add a new submenu under Manage:
71    add_management_page('Menu Tester', 'Menu Tester',
72        $accessLevel, $menutesterFileName, 'menutester_manage_page') ;
73
74    // Add a new submenu under Presentation:
75    add_theme_page('Menu Tester', 'Menu Tester',
76        $accessLevel, $menutesterFileName, 'menutester_theme_page') ;
77}
78
79
80// menutester_sublevel_page_tab_1() displays
81// the page content for the first submenu (tab)
82// of the custom Menu Tester Top Level menu
83function menutester_sublevel_tab_1()
84{
85    menutester_page_content("<h2>Menu Tester Tab 1</h2>") ;
86}
87
88// menutester_sublevel_page_tab_2() displays
89// the page content for the first submenu (tab)
90// of the custom Menu Tester Top Level menu
91function menutester_sublevel_tab_2()
92{
93    menutester_page_content("<h2>Menu Tester Tab 2</h2>") ;
94}
95
96// menutester_sublevel_page_tab_3() displays
97// the page content for the first submenu (tab)
98// of the custom Menu Tester Top Level menu
99function menutester_sublevel_tab_3()
100{
101    menutester_page_content("<h2>Menu Tester Tab 3</h2>") ;
102}
103
104
105// menutester_options_page() displays the
106// page content for the Test Options submenu
107function menutester_options_page()
108{
109    menutester_page_content("<h2>Menu Tester Options Page</h2>") ;
110}
111
112// menutester_manage_page() displays the
113// page content for the Test Manage submenu
114function menutester_manage_page()
115{
116    menutester_page_content( "<h2>Menu Tester Manage Page</h2>") ;
117}
118
119// menutester_theme_page() displays the
120// page content for the Test Manage submenu
121function menutester_theme_page()
122{
123    menutester_page_content( "<h2>Menu Tester Theme Page</h2>") ;
124}
125
126// menutester_toplevel_page() displays the page
127// content for the custom Menu Tester Level menu
128function menutester_toplevel_page()
129{
130    menutester_page_content( "<h2>Menu Tester Top Level Page</h2>") ;
131}
132
133/**
134 * menutester_install()
135 *
136 * Install the Menu Tester plugin.
137 *
138 */
139function menutester_install()
140{
141}
142
143//
144//  Activate the plugin initialization function
145//
146
147add_action('activate_menutester/menutester.php', 'menutester_install') ;
148
149?>