Title: Bulk_Plugin_Upgrader_Skin
Published: April 25, 2014
Last modified: May 20, 2026

---

# class Bulk_Plugin_Upgrader_Skin {}

## In this article

 * [Description](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/?output_format=md#description)
    - [See also](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/?output_format=md#see-also)
 * [Methods](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/?output_format=md#methods)
 * [Source](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/?output_format=md#wp--skip-link--target)

Bulk Plugin Upgrader Skin for WordPress Plugin Upgrades.

## 󠀁[Description](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/?output_format=md#description)󠁿

### 󠀁[See also](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/?output_format=md#see-also)󠁿

 * [Bulk_Upgrader_Skin](https://developer.wordpress.org/reference/classes/bulk_upgrader_skin/)

## 󠀁[Methods](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/?output_format=md#methods)󠁿

| Name | Description | 
| [Bulk_Plugin_Upgrader_Skin::add_strings](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/add_strings/) | Sets up the strings used in the update process. | 
| [Bulk_Plugin_Upgrader_Skin::after](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/after/) | Performs an action following a bulk plugin update. | 
| [Bulk_Plugin_Upgrader_Skin::before](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/before/) | Performs an action before a bulk plugin update. | 
| [Bulk_Plugin_Upgrader_Skin::bulk_footer](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/bulk_footer/) | Displays the footer following the bulk update process. |

## 󠀁[Source](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/?output_format=md#source)󠁿

    ```php
    class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin {

    	/**
    	 * Plugin info.
    	 *
    	 * The Plugin_Upgrader::bulk_upgrade() method will fill this in
    	 * with info retrieved from the get_plugin_data() function.
    	 *
    	 * @since 3.0.0
    	 * @var array Plugin data. Values will be empty if not supplied by the plugin.
    	 */
    	public $plugin_info = array();

    	/**
    	 * Sets up the strings used in the update process.
    	 *
    	 * @since 3.0.0
    	 */
    	public function add_strings() {
    		parent::add_strings();
    		/* translators: 1: Plugin name, 2: Number of the plugin, 3: Total number of plugins being updated. */
    		$this->upgrader->strings['skin_before_update_header'] = __( 'Updating Plugin %1$s (%2$d/%3$d)' );
    	}

    	/**
    	 * Performs an action before a bulk plugin update.
    	 *
    	 * @since 3.0.0
    	 *
    	 * @param string $title
    	 */
    	public function before( $title = '' ) {
    		parent::before( $this->plugin_info['Title'] );
    	}

    	/**
    	 * Performs an action following a bulk plugin update.
    	 *
    	 * @since 3.0.0
    	 *
    	 * @param string $title
    	 */
    	public function after( $title = '' ) {
    		parent::after( $this->plugin_info['Title'] );
    		$this->decrement_update_count( 'plugin' );
    	}

    	/**
    	 * Displays the footer following the bulk update process.
    	 *
    	 * @since 3.0.0
    	 */
    	public function bulk_footer() {
    		parent::bulk_footer();

    		$update_actions = array(
    			'plugins_page' => sprintf(
    				'<a href="%s" target="_parent">%s</a>',
    				self_admin_url( 'plugins.php' ),
    				__( 'Go to Plugins page' )
    			),
    			'updates_page' => sprintf(
    				'<a href="%s" target="_parent">%s</a>',
    				self_admin_url( 'update-core.php' ),
    				__( 'Go to WordPress Updates page' )
    			),
    		);

    		if ( ! current_user_can( 'activate_plugins' ) ) {
    			unset( $update_actions['plugins_page'] );
    		}

    		/**
    		 * Filters the list of action links available following bulk plugin updates.
    		 *
    		 * @since 3.0.0
    		 *
    		 * @param string[] $update_actions Array of plugin action links.
    		 * @param array    $plugin_info    Array of information for the last-updated plugin.
    		 */
    		$update_actions = apply_filters( 'update_bulk_plugins_complete_actions', $update_actions, $this->plugin_info );

    		if ( ! empty( $update_actions ) ) {
    			$this->feedback( implode( ' | ', (array) $update_actions ) );
    		}
    	}
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-admin/includes/class-bulk-plugin-upgrader-skin.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.0/src/wp-admin/includes/class-bulk-plugin-upgrader-skin.php#L18)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-admin/includes/class-bulk-plugin-upgrader-skin.php#L18-L104)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/?output_format=md#related)󠁿

| Uses | Description | 
| [Bulk_Upgrader_Skin](https://developer.wordpress.org/reference/classes/bulk_upgrader_skin/)`wp-admin/includes/class-bulk-upgrader-skin.php` |

Generic Bulk Upgrader Skin for WordPress Upgrades.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/bulk_plugin_upgrader_skin/?output_format=md#changelog)󠁿

| Version | Description | 
| [4.6.0](https://developer.wordpress.org/reference/since/4.6.0/) | Moved to its own file from wp-admin/includes/class-wp-upgrader-skins.php. | 
| [3.0.0](https://developer.wordpress.org/reference/since/3.0.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fbulk_plugin_upgrader_skin%2F)
before being able to contribute a note or feedback.