From fd69c019ec7aa374581b49384cf32578be22e7f8 Mon Sep 17 00:00:00 2001 From: Mikkel Breum Date: Sun, 7 Apr 2013 23:05:13 +0200 Subject: [PATCH] Added Plugin Settings page (commented out) Added a Plugin Settings page, that can be enabled by uncommenting the line that hooks it into the admin_menu action hook. Added additional views that contain the WordPress standard markup to wrap the plugin settings markup. The views are now loaded into the plugin page. --- plugin-boilerplate/plugin.php | 24 ++++++++++++++++++++++++ plugin-boilerplate/views/admin_close.php | 1 + plugin-boilerplate/views/admin_open.php | 3 +++ 3 files changed, 28 insertions(+) create mode 100644 plugin-boilerplate/views/admin_close.php create mode 100644 plugin-boilerplate/views/admin_open.php diff --git a/plugin-boilerplate/plugin.php b/plugin-boilerplate/plugin.php index d5cc755..59c0cd9 100644 --- a/plugin-boilerplate/plugin.php +++ b/plugin-boilerplate/plugin.php @@ -41,6 +41,10 @@ class PluginName { // Load plugin text domain add_action( 'init', array( $this, 'plugin_textdomain' ) ); + // Add the options page and menu item + // Uncomment the following line to enable the Settings Page for the plugin + # add_action('admin_menu', array( $this, 'plugin_admin_menu' ) ); + // Register admin styles and scripts add_action( 'admin_enqueue_scripts', array( $this, 'register_admin_styles' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'register_admin_scripts' ) ); @@ -148,6 +152,26 @@ class PluginName { } // end register_plugin_scripts + + function plugin_admin_menu() { + // TODO: Change 'Page Title' to the title of your plugin admin page + // TODO: Change 'Menu Text' to the text for menu item for the plugin settings page + // TODO: Change 'plugin-name' to the name of your plugin + $this->plugin_screen_slug = add_plugins_page('Page Title', 'Menu Text', 'read', 'plugin-name', array( $this, 'plugin_admin_page' )); + + } // end plugin_admin_menu + + + function plugin_admin_page() { + + // output the cpanel + include_once('views/admin_open.php'); + include_once('views/admin.php'); // outputs the settings/form markup for the plugin admin markup + include_once('views/admin_close.php'); + + } // end plugin_admin_page + + /*--------------------------------------------* * Core Functions *---------------------------------------------*/ diff --git a/plugin-boilerplate/views/admin_close.php b/plugin-boilerplate/views/admin_close.php new file mode 100644 index 0000000..e2d7a0a --- /dev/null +++ b/plugin-boilerplate/views/admin_close.php @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/plugin-boilerplate/views/admin_open.php b/plugin-boilerplate/views/admin_open.php new file mode 100644 index 0000000..db7549e --- /dev/null +++ b/plugin-boilerplate/views/admin_open.php @@ -0,0 +1,3 @@ +
+ +

My Plugin Name