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.


Parameters Parameters

$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().

$context

(string) The plugin context. By default this can include 'all', 'active', 'inactive', 'recently_activated', 'upgrade', 'mustuse', 'dropins', and 'search'.



Top ↑

Source Source

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

View on Trac


Top ↑

Changelog Changelog

Changelog
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 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(
            'akismet/akismet.php',
            'plugin-folder-name/plugin.php'
        ) ) )
            unset( $actions['delete'] );
    
        return $actions;
    }
    

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