activate_plugin ( $plugin, $redirect = '', $network_wide = false, $silent = false )
- (string) plugin Path to the plugin file relative to the plugins directory.
- (string) redirect Optional. URL to redirect to.
- (bool) network_wide Optional. Whether to enable the plugin for all sites in the network or just the current site. Multisite only. Default false.
- (bool) silent Optional. Whether to prevent calling activation hooks. Default false.
Defined at:Change Log:
- (null|WP_Error) Null on success, WP_Error on invalid file.
- Introduced in WordPress: 2.5.0
- Deprecated in WordPress: —
Attempts activation of plugin in a "sandbox" and redirects on success.A plugin that is already activated will not attempt to be activated again.
The way it works is by setting the redirection to the error before trying to
include the plugin file. If the plugin fails, then the redirection will not
be overwritten with the success message. Also, the options will not be
updated and the activation hook will not be called on plugin error.
It should be noted that in no way the below code will actually prevent errors
within the file. The code should not be used elsewhere to replicate the
"sandbox", which uses redirection to work.
If any errors are found or text is outputted, then it will be captured to
ensure that the success redirection will update the error redirection.