apply_filters( 'plugin_action_links', string[] $actions, string $plugin_file, array $plugin_data, string $context )

Filters the action links displayed for each plugin in the Plugins list table.


$actions string[]
An array of plugin action links. By default this can include 'activate', 'deactivate', and 'delete'. With Multisite active this can also include 'network_active' and 'network_only' items.
$plugin_file string
Path to the plugin file relative to the plugins directory.
$plugin_data array
An array of plugin data. See get_plugin_data() and the 'plugin_row_meta' filter for the list of possible values.
$context string
The plugin context. By default this can include 'all', 'active', 'inactive', 'recently_activated', 'upgrade', 'mustuse', 'dropins', and 'search'.

Top ↑


File: wp-admin/includes/class-wp-plugins-list-table.php. View all references

$actions = apply_filters( 'plugin_action_links', $actions, $plugin_file, $plugin_data, $context );

Top ↑


Version Description
4.9.0 The 'Edit' link was removed from the list of action links.
2.6.0 The $context parameter was added.
2.5.0 Introduced.

Top ↑

User Contributed Notes

  1. Skip to note 1 content
    Contributed by Anass Rahou
     * Add settings link to plugin actions
     * @param  array  $plugin_actions
     * @param  string $plugin_file
     * @since  1.0
     * @return array
    function add_plugin_link( $plugin_actions, $plugin_file ) {
        $new_actions = array();
        if ( basename( plugin_dir_path( __FILE__ ) ) . 'comment-limiter.php' === $plugin_file ) {
            $new_actions['cl_settings'] = sprintf( __( '<a href="%s">Settings</a>', 'comment-limiter' ), esc_url( admin_url( 'options-general.php?page=comment-limiter' ) ) );
        return array_merge( $new_actions, $plugin_actions );
    add_filter( 'plugin_action_links', 'add_plugin_link', 10, 2 );

    Here is a very simple and easy way of how to append a new settings link in your plugin links on the plugins panel of your WordPress

  2. Skip to note 2 content
    Contributed by Nikhil Bhansi

    Remove Delete Plugin Action Link
    Removes plugin Deletion action from the Plugin list.

    Replace ‘plugin-folder-name/plugin.php’ with the plugin name you want to remove action for.
    For Ex. 'plugin-folder-name/plugin.php' => 'akismet/akismet.php'

    add_filter( 'plugin_action_links', 'disable_plugin_deletion', 10, 4 );
    function disable_plugin_deletion( $actions, $plugin_file, $plugin_data, $context ) {
        // Remove delete action link for plugins
        if ( array_key_exists( 'delete', $actions ) && in_array( $plugin_file, array(
        ) ) )
            unset( $actions['delete'] );
        return $actions;

You must log in before being able to contribute a note or feedback.