How to Add a WordPress Plugin Action Link June 25 2012

I always prefer it when plugins make it as easy as possible to find their configuration page. When I install a new plugin the last thing I want to do is hunt around for some hidden menu item, I want to play around with my new toy! And what better place to link to a plugin’s configuration than right from the admin Plugins page where the plugin is activated, deactivated or (the horror!) deleted. These are called ‘Action Links’ and it’s so easy to add a ‘Configure’ or ‘Manage’, or indeed any other link to your own plugin, that there’s no reason not to.

To add your very own action link, hook into the plugin_action_links_ filter like so, from your plugins constructor for instance:


if ( is_admin() ) {

  add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( &$this, 'plugin_manage_link' ), 10, 4 );

}

Then write a plugin_manage_link() function to add your own custom action links. Here’s an example to get you started:


/**

 * Return the plugin action links.  This will only be called if the plugin

 * is active.

 *

 * @param array $actions associative array of action names to anchor tags

 * @param string $plugin_file plugin file name, ie my-plugin/my-plugin.php

 * @param array $plugin_data associative array of plugin data from the plugin file headers

 * @param string $context plugin status context, ie 'all', 'active', 'inactive', 'recently_active'

 *

 * @return array associative array of plugin action links

 */

function plugin_manage_link( $actions, $plugin_file, $plugin_data, $context ) {



    // add a 'Configure' link to the front of the actions list for this plugin

    return array_merge( array( 'configure' => '' . __( 'Configure' ) . '' ),

                            $actions );



}

Substitue the path to your plugin configuration for admin.php?page=myplugin, of course. Remember that this filter is only called when your plugin is active, so there’s no need to check for that. Easy, right?

The post How to Add a WordPress Plugin Action Link appeared first on SkyVerge.