[wp-hackers] Strange behavior in plugin with main menu and submenu
Leonid Mamchenkov
leonid at mamchenkov.net
Sun Jul 1 12:51:29 GMT 2007
Hi All.
I am writing a self-contained plugin, which adds an item to
administration's main menu. It also adds a few submenus to its main
menu item. I want all code and formatting and everything to remain in
the same file. It seems possible judging by this Codex page:
http://codex.wordpress.org/Adding_Administration_Menus , but I can't
make it work.
Here is a sample code to demonstrate the problem (save it in a file in
plugins directory and then active Test plugin):
<?php
/**
* Plugin Name: Test
* Version: 1.0
*/
function test_menu() {
add_submenu_page(__FILE__,'A','A',1,'','page_a');
add_submenu_page(__FILE__,'B','B',1,'','page_b');
add_menu_page('Test','Test',1,__FILE__);
}
function page_a() {
print '<h2>hello from page a</h2>';
}
function page_b() {
print '<h2>welcome to page b</h2>';
}
add_action('admin_menu','test_menu');
?>
This gets my menu structure just fine, but the submenu items don't do
anything (don't print out test headings). If in the test_menu()
function I first do the add_menu_page() and then add_submenu_page(),
then I get everything printed out (both headings from page A and page
B). I also tried sending __FILE__ parameter to each place which has
to do with files, but it didn't get me anywhere.
Am I doing something wrong? Is there a bug? Is Codex documentation
accurate? How can I make this work?
P.S.: I'm currently working around the issue with several files, but
I'd very much rather not. :)
TIA.
--
Leonid Mamchenkov
More information about the wp-hackers
mailing list