User Tools

Site Tools


plugins:tabs_menus

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
plugins:tabs_menus [2012/01/24 15:59]
mvlcek [Tab Creation Function]
plugins:tabs_menus [2014/01/08 11:26]
Everyone [Side Menu Creation Function]
Line 3: Line 3:
 You can add menu links to any of GetSimple'​s tabs with the following code You can add menu links to any of GetSimple'​s tabs with the following code
  
-<​code>​add_action('​xxxxxx-sidebar','​createSideMenu',​array('​your-plugin-filename','​Menu Text'​));</​code>​+<​code>​add_action( '​xxxxxx-sidebar',​ '​createSideMenu',​ array( '​your-plugin-filename',​ 'Menu Text' ) );</​code>​
  
-Replace xxxxxx-sidebar with the sidebar you want(e.g.: backups-sidebar,​ files-sidebar,​ pages-sidebar,​ plugins-sidebar,​ settings-sidebar,​ support-sidebar or theme-sidebar)+Replace ​''​xxxxxx-sidebar'' ​with the sidebar you want(e.g.: ​''​backups-sidebar''​''​files-sidebar''​''​pages-sidebar''​''​plugins-sidebar''​''​settings-sidebar''​''​support-sidebar'' ​or ''​theme-sidebar''​)
  
-(3.1+) If you want to add multiple links for your plugin, you can use the optional parameter ​action:+(3.1+) If you want to add multiple links for your plugin, you can add an optional ​3rd parameter ​in the params array:
  
-<​code>​add_action('​xxxxxx-sidebar','​createSideMenu',​array('​your-plugin-filename','​Menu Text', '​my-action'​));</​code>​+<​code>​add_action( '​xxxxxx-sidebar',​ '​createSideMenu',​ array( '​your-plugin-filename',​ 'Menu Text', '​my-action'​ ) );</​code>​
  
-This way a new parameter ​action=my-action is added to the link and you can determine which link was clicked.+This way a new parameter ​**//my-action//** is added to the link so you can determine which link was clicked.
  
-(3.1+) If you want a functionality like the "Edit Page" link which only shows if the function is active, add a 4th parameter false:+(3.1+) If you want a functionality like the "Edit Page" link which is only visible ​if the function is active, add a 4th parameter ​in the params array as ''​false''​:
  
 <​code>​ <​code>​
-add_action('​xxxxxx-sidebar','​createSideMenu',​array('​your-plugin-filename','​Show ​list of It', '​list'​));​ +add_action( '​xxxxxx-sidebar',​ '​createSideMenu',​ array( '​your-plugin-filename',​ 'Show It', '​list'​ ) ); 
-add_action('​xxxxxx-sidebar','​createSideMenu',​array('​your-plugin-filename','​Edit It', '​edit',​ false));+add_action( '​xxxxxx-sidebar',​ '​createSideMenu',​ array( '​your-plugin-filename',​ 'Edit It', '​edit',​ false ) );
 </​code>​ </​code>​
  
-When you click the newly created menu link, the function you registered in register_plugin() will be called, and unless you specified the page your new menu link is on in the 7th argument of register_plugin(),​ the side menu will disappear.+When you click the newly created menu link, the function you registered in ''​register_plugin()'' ​will be called, and unless you specified the page your new menu link is on in the 7th argument of ''​register_plugin()''​, the side menu will disappear.
  
-Thus if you add side bar links to two different tabs, you need to change this parameter dynamically,​ e.g.+Thus if you add side bar links to two different tabs, you need to change this page type parameter dynamically,​ e.g. setup on the plugins tab, other functionality on theme tab:
  
 <​code>​ <​code>​
Line 29: Line 29:
 # register plugin # register plugin
 register_plugin( register_plugin(
- $thisfile, //Plugin id+ $thisfile, ​     //Plugin id
  '​Hello World',​ //Plugin name  '​Hello World',​ //Plugin name
  '​1.0',​ //Plugin version  '​1.0',​ //Plugin version
Line 35: Line 35:
  '​http://​www.cagintranet.com/',​ //author website  '​http://​www.cagintranet.com/',​ //author website
  '​Finds email addresses in content and components and "​hides"​ them', //Plugin description  '​Finds email addresses in content and components and "​hides"​ them', //Plugin description
- @$_GET['​id'​] == $thisfile && @$_GET['​action'​] == '​setup'​ ? '​plugins'​ : '​theme',​  +  @$_GET['​id'​] == $thisfile && @$_GET['​action'​] == '​setup'​ ? '​plugins'​ : '​theme',​  
- //page type - on which admin tab to display+  //page type - on which admin tab to display
  '​hello_world_show' ​ //main function (administration)  '​hello_world_show' ​ //main function (administration)
 ); );
  
-add_action('​plugins-sidebar','​createSideMenu',​array($thisfile,'​Setup Hello World','​setup'​));​ +add_action( '​plugins-sidebar',​ '​createSideMenu',​ array( $thisfile, 'Setup Hello World',​ '​setup'​ ) ); 
-add_action('​theme-sidebar','​createSideMenu',​array($thisfile,'​Show Hello World','​show'​));​+add_action( '​theme-sidebar',​ '​createSideMenu',​ array( $thisfile, 'Show Hello World',​ '​show'​ ) ); 
 +</​code>​ 
 + 
 +If you have multiple sidebar items like above, your main function (here //​hello_world_show//​) would look like this: 
 +<​code>​ 
 +function hello_world_show() { 
 +  if ( isset ( $_GET['​setup'​] ) { 
 +    ... 
 +  } elseif ( isset ( $_GET['​show'​] ) { 
 +    ... 
 +  } 
 +}
 </​code>​ </​code>​
  
Line 49: Line 60:
  
 <​code>​ <​code>​
-add_action('​nav-tab','​createNavTab',​array('​thetabname','​your-plugin-filename','​Menu Text', '​my-action'​));​+add_action( '​nav-tab',​ '​createNavTab',​ array( '​thetabname',​ '​your-plugin-filename',​ 'Tab Text', '​my-action'​ ) );
 </​code>​ </​code>​
  
-Use a unique name for the tab, e.g. your plugin name like 'newsmanager'. Also use this name for the page type in register_plugin(). The action parameter is again optional.+Use a unique name for the tab, e.g. your plugin name like //newsmanager//. Also use this name for the page type in ''​register_plugin()''​. The ''​action'' ​parameter is again optional.
 You can then add sidebar links for this tab with You can then add sidebar links for this tab with
  
 <​code>​ <​code>​
-add_action('​thetabname-sidebar',​ ...); // e.g. '​newsmanager-sidebar'​+add_action( '​thetabname-sidebar',​ ... ); // e.g. '​newsmanager-sidebar'​
 </​code>​ </​code>​
  
  
-Only use this function, if you need a lot of side bar links for you plugin and want to group them.+Only use this functionality, if you need a lot of side bar links for you plugin and want to group them.
plugins/tabs_menus.txt · Last modified: 2014/02/07 10:02 by datiswous