apply_filters( “bulk_actions-{$this->screen->id}”, array $actions )

Filters the items in the bulk actions menu of the list table.


The dynamic portion of the hook name, $this->screen->id, refers to the ID of the current screen.


An array of the available bulk actions.

More Information

  • This hook allows you to remove items from the bulk actions dropdown on any specified admin screen.
  • Bulk actions are a simple associative array.
  • The filter hook follows the format ‘bulk_actions-screenid‘, where screenid is the id of the admin screen that you want to affect.
  • As of version 4.7, custom bulk actions can be added using this filter. You can add functionality to custom bulk actions using ‘handle_bulk_actions-screenid‘, where screenid is the id of the admin screen that you want to affect.


$this->_actions = apply_filters( "bulk_actions-{$this->screen->id}", $this->_actions ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores


5.6.0A bulk action can now contain an array of options in order to create an optgroup.

User Contributed Notes

  1. Skip to note 2 content

    Example migrated from Codex:

    The following example removes an action from the Bulk Actions drop-down on the Users page:

        function my_custom_bulk_actions($actions) {
            unset( $actions['delete'] );
            return $actions;

    Pay attention to the actual option values, not just the text displayed in the dropdown, on the page you wish to modify. For example, the delete option on the Plugins list page is “delete-selected” (as of 4.2.2).

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