Piszę plugin do wordpressa z katalogiem produktów i zablokowałem się na następującym problemie.
Cała struktura wygląda tak:
<?php class ProductCatalogue { function AdminCategories(){...} function AdminPhotos() {...} function AdminSettings() {...} function AdminProducts() {...} function AdminMain() {...} } ?>
Każda z metod odpowiada konkretnej stronie w panelu admina. AdminMain to index administracji pluginem. Zgodnie z WP plugin API
dodaje sobie nowe strony do panelu admina:
<?php $pc_plugin = new ProductCatalogue(); function ProductCatalogue_ap() { return; }//ENDIF if (function_exists('add_menu_page')) { add_menu_page('Product Catalogue', 'Product Catalogue', 9,__FILE__, array(&$pc_plugin, 'AdminMain')); add_submenu_page(__FILE__, 'Categories', 'Categories', 9, __FILE__, array(&$pc_plugin, 'AdminCategories')); add_submenu_page(__FILE__, 'Products', 'Products', 9, __FILE__, array(&$pc_plugin, 'AdminProducts')); add_submenu_page(__FILE__, 'Settings', 'Settings', 9, __FILE__, array(&$pc_plugin, 'AdminSettings')); }//ENDIF } add_action('admin_menu', 'ProductCatalogue_ap'); ?>
Wszystko zgodnie z dokumentacją WP. http://codex.wordpress.org/Adding_Administration_Menus
Wp akceptuję taką strukturę danych w
<?php add_menu_page(); ?>
Jadnak w add_submenu_page() coś się wysypuje. Owszem dodaje mi podstronę w menu, ale content, za który jest odpowiedzialne wywołanie $pc_plugin->AdminSettings() już się nie wyświetla, gdyż wyświetla mi tylko AdminMain na wszystkich podstronach.
Spotkał się ktoś kiedyś z takim problemem?
(Mod, Przepraszam za to że w php ale tylko tutaj będzie oglądalność )