Title: upgrader_post_install
Published: April 25, 2014
Last modified: February 24, 2026

---

# apply_filters( ‘upgrader_post_install’, bool $response, array $hook_extra, array $result )

## In this article

 * [Parameters](https://developer.wordpress.org/reference/hooks/upgrader_post_install/?output_format=md#parameters)
 * [Source](https://developer.wordpress.org/reference/hooks/upgrader_post_install/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/hooks/upgrader_post_install/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/hooks/upgrader_post_install/?output_format=md#changelog)
 * [User Contributed Notes](https://developer.wordpress.org/reference/hooks/upgrader_post_install/?output_format=md#user-contributed-notes)

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

Filters the installation response after the installation has finished.

## 󠀁[Parameters](https://developer.wordpress.org/reference/hooks/upgrader_post_install/?output_format=md#parameters)󠁿

 `$response`bool

Installation response.

`$hook_extra`array

Extra arguments passed to hooked filters.

`$result`array

Installation result data.

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

    ```php
    $res = apply_filters( 'upgrader_post_install', true, $args['hook_extra'], $this->result );
    ```

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

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

| Used by | Description | 
| [WP_Upgrader::install_package()](https://developer.wordpress.org/reference/classes/wp_upgrader/install_package/)`wp-admin/includes/class-wp-upgrader.php` |

Install a package.

  |

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

| Version | Description | 
| [2.8.0](https://developer.wordpress.org/reference/since/2.8.0/) | Introduced. |

## 󠀁[User Contributed Notes](https://developer.wordpress.org/reference/hooks/upgrader_post_install/?output_format=md#user-contributed-notes)󠁿

 1.  [Skip to note 2 content](https://developer.wordpress.org/reference/hooks/upgrader_post_install/?output_format=md#comment-content-6780)
 2.   [Aurovrata Venet](https://profiles.wordpress.org/aurovrata/)  [  2 years ago  ](https://developer.wordpress.org/reference/hooks/upgrader_post_install/#comment-6780)
 3. [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Fupgrader_post_install%2F%23comment-6780)
    Vote results for this note: 1[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Fupgrader_post_install%2F%23comment-6780)
 4. You can use this filter to distinguish between your plugin being installed for 
    the first time or an upgrade over an existing installation. This could be useful
    in the scenario where you need to publish some admin notices to users on specific
    version upgrades.
 5.     ```php
        add_filter( 'upgrader_post_install', 'wpdocs_plugin_update', 10, 3 );
        function wpdocs_plugin_update( $response, $extras, $result ) {
          if ( isset( $result['destination_name'] ) && 'wpdocs-plugin-slug' === $result['destination_name'] && $response ) {
            $my_settings           = get_option( 'wpdocs-plugin-options', array() );
            $my_settings['update'] = true;
            update_option( 'wpdocs-plugin-options', $my_settings );
          }
    
          return $response;
        }
        ```
    
 6. you can then consult your plugin settings to see if this is an updated version.
 7.  [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Fupgrader_post_install%2F%3Freplytocom%3D6780%23feedback-editor-6780)

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