activate_plugin( string $plugin, string $redirect = '', bool $network_wide = false, bool $silent = false ): null|WP_Error
- Since
- 2.5.0, 5.2.0
- Source
wp-admin/includes/plugin.php:641
Description
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.
{@source 13 1}
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.
Compatibility
- WordPress
- since 5.2.0
- PHP
- 7.4–8.6-dev
- 6.7.7
- 6.8.8
- 6.9.7
- 7.0.4
- 7.1.0
Present in every tracked release (6.7.7 to 7.1.0), and compiles on PHP 7.4 through 8.6-dev.
Parameters
$pluginstring- Path to the plugin file relative to the plugins directory.
$redirectstringoptional- URL to redirect to.Default:
'' $network_widebooloptional- Whether to enable the plugin for all sites in the network or just the current site. Multisite only. Default false.Default:
false $silentbooloptional- Whether to prevent calling activation hooks. Default false.Default:
false
Return value
null|WP_Error- Null on success, WP_Error on invalid file.
Performance profile
How much work a call to activate_plugin() does, and what it touches: the algorithmic scaling, the Zend instruction count per call across PHP versions, the hooks it hands control to, and the core code that calls it. Measured from the compiled opcodes, not a stopwatch, so every number is identical on any machine running the same PHP version, and every function in core is ranked by cost.
- Cost class
- Moderate
- Scaling
- Constant
- Instructions
- 26–117
- Plugin surface
- 3 hooks
- Called by
- 3
Reads stored settings via get_site_option(), cached per request but not free on a cold cache.
No loop in the body: the same number of instructions runs whatever you pass in.
Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 141.
Third-party callbacks on 'activate_plugin', 'activate_{$plugin}', 'activated_plugin' run inside this call, and their cost is not bounded by anything here.
3 places in core call this, so the cost is paid more often than your own code shows.
What it touches
- optionnetwork option
get_site_option()called directly - hookthird-party callbacks
do_action()called directly - cacheobject cache
wp_cache_get()one call below activate_plugin() - serializeserialisation
maybe_unserialize()one call below activate_plugin()
Further down the call graph this can also reach query and transient. Those are the worst case, several calls deep and usually down an error path, not what a normal call pays.
What one call costs · 136 distinct outcomes
One number would be a lie: the work depends on which branch runs. These are every distinct cost activate_plugin() can have, taken from its control-flow graph on PHP 8.5.
| When | Instructions | Calls it makes |
|---|---|---|
!is_multisite() && is_wp_error() | 26 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error() |
is_multisite() && !is_network_only_plugin() && is_wp_error() | 31 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error() |
is_multisite() && is_wp_error() | 32 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error() |
!is_multisite() && !is_wp_error() | 34–41 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error() |
is_multisite() && is_network_only_plugin() && is_wp_error() | 36 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() | 39–46 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error() |
is_multisite() && !is_wp_error() | 40–47 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error() |
is_multisite() && is_network_only_plugin() && !is_wp_error() | 44–51 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error() |
!is_multisite() && !is_wp_error() && empty($redirect) | 67–71 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && empty($redirect) | 67–71 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && empty($redirect) | 72–76 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && empty($redirect) | 72–76 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_end_clean() |
124 further outcomes, up to 117 instructions
is_multisite() && !is_network_only_plugin() && !is_wp_error() && empty($redirect) | 72–76 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && empty($redirect) | 72–76 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_wp_error() && empty($redirect) | 73–77 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_wp_error() && empty($redirect) | 73–77 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && empty($redirect) | 76–80 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), ob_get_length(), ob_get_clean(), __() |
!is_multisite() && !is_wp_error() && empty($redirect) | 76–80 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && empty($redirect) | 77–81 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), ob_get_length(), ob_end_clean() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && empty($redirect) | 77–81 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && empty($redirect) | 77–81 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && empty($redirect) | 77–81 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && empty($redirect) | 77–81 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && empty($redirect) | 77–81 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_wp_error() && empty($redirect) | 78–82 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_wp_error() && empty($redirect) | 78–82 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && !empty($redirect) | 79–83 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && !empty($redirect) | 79–83 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && empty($redirect) | 81–85 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
!is_multisite() && !is_wp_error() && empty($redirect) | 81–85 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && empty($redirect) | 81–85 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && empty($redirect) | 81–85 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_wp_error() && empty($redirect) | 82–86 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_wp_error() && empty($redirect) | 82–86 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && empty($redirect) | 82–86 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && empty($redirect) | 82–86 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && empty($redirect) | 82–86 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && empty($redirect) | 82–86 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && empty($redirect) | 82–86 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && empty($redirect) | 82–86 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_wp_error() && empty($redirect) | 83–87 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_wp_error() && empty($redirect) | 83–87 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && !empty($redirect) | 84–88 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && !empty($redirect) | 84–88 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 84–88 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 84–88 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_wp_error() && !empty($redirect) | 85–89 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_wp_error() && !empty($redirect) | 85–89 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_end_clean() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && empty($redirect) | 86–90 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && empty($redirect) | 86–90 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_get_clean(), __() |
!is_multisite() && !is_wp_error() && empty($redirect) | 86–90 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), ob_get_length(), ob_get_clean(), __() |
!is_multisite() && !is_wp_error() && empty($redirect) | 86–90 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && empty($redirect) | 86–90 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && empty($redirect) | 86–90 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_wp_error() && empty($redirect) | 87–91 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_wp_error() && empty($redirect) | 87–91 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && empty($redirect) | 87–91 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), ob_get_length(), ob_end_clean() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && empty($redirect) | 87–91 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && empty($redirect) | 87–91 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && empty($redirect) | 87–91 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_wp_error() && empty($redirect) | 88–92 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_wp_error() && empty($redirect) | 88–92 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && !empty($redirect) | 88–92 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), ob_get_length(), ob_get_clean(), __() |
!is_multisite() && !is_wp_error() && !empty($redirect) | 88–92 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 89–93 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), ob_get_length(), ob_end_clean() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 89–93 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && !empty($redirect) | 89–93 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && !empty($redirect) | 89–93 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 89–93 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 89–93 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_wp_error() && !empty($redirect) | 90–94 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_wp_error() && !empty($redirect) | 90–94 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && empty($redirect) | 91–95 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && empty($redirect) | 91–95 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
!is_multisite() && !is_wp_error() && empty($redirect) | 91–95 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
!is_multisite() && !is_wp_error() && empty($redirect) | 91–95 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && empty($redirect) | 91–95 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && empty($redirect) | 91–95 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_wp_error() && empty($redirect) | 92–96 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_wp_error() && empty($redirect) | 92–96 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && empty($redirect) | 92–96 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && empty($redirect) | 92–96 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && !empty($redirect) | 93–97 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
!is_multisite() && !is_wp_error() && !empty($redirect) | 93–97 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 93–97 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 93–97 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_wp_error() && !empty($redirect) | 94–98 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_wp_error() && !empty($redirect) | 94–98 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 94–98 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 94–98 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && !empty($redirect) | 94–98 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_end_clean() |
!is_multisite() && !is_wp_error() && !empty($redirect) | 94–98 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 94–98 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 94–98 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_wp_error() && !empty($redirect) | 95–99 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_wp_error() && !empty($redirect) | 95–99 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_end_clean() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && empty($redirect) | 96–100 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && empty($redirect) | 96–100 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && empty($redirect) | 96–100 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && empty($redirect) | 96–100 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_wp_error() && empty($redirect) | 97–101 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_wp_error() && empty($redirect) | 97–101 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 98–102 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 98–102 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_get_clean(), __() |
!is_multisite() && !is_wp_error() && !empty($redirect) | 98–102 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), ob_get_length(), ob_get_clean(), __() |
!is_multisite() && !is_wp_error() && !empty($redirect) | 98–102 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 98–102 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 98–102 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_wp_error() && !empty($redirect) | 99–103 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_wp_error() && !empty($redirect) | 99–103 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 99–103 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), ob_get_length(), ob_end_clean() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 99–103 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 99–103 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 99–103 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_wp_error() && !empty($redirect) | 100–104 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && !is_wp_error() && !empty($redirect) | 100–104 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && empty($redirect) | 101–105 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && empty($redirect) | 101–105 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 103–107 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 103–107 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
!is_multisite() && !is_wp_error() && !empty($redirect) | 103–107 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
!is_multisite() && !is_wp_error() && !empty($redirect) | 103–107 | plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 103–107 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 103–107 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_wp_error() && !empty($redirect) | 104–108 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_wp_error() && !empty($redirect) | 104–108 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 104–108 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 104–108 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_end_clean() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 108–112 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 108–112 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 108–112 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 108–112 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_wp_error() && !empty($redirect) | 109–113 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && !is_wp_error() && !empty($redirect) | 109–113 | plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 113–117 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_option(), sort(), update_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
is_multisite() && is_network_only_plugin() && !is_wp_error() && !empty($redirect) | 113–117 | plugin_basename(), is_multisite(), is_network_only_plugin(), get_site_option(), validate_plugin(), is_wp_error(), validate_plugin_requirements(), is_wp_error(), wp_create_nonce(), add_query_arg(), wp_redirect(), ob_start(), plugin_sandbox_scrape(), do_action(), do_action(), get_site_option(), time(), update_site_option(), do_action(), ob_get_length(), ob_get_clean(), __() |
Across PHP versions
| PHP | Compiled | Executed | Branches | Notes |
|---|---|---|---|---|
| 8.6-dev | 141 | 26–117 | 14 | |
| 8.5 | 141 | 26–117 | 14 | |
| 8.4 | 141 | 26–117 | 14 | 5 fewer instructions than PHP 8.3 |
| 8.3 | 146 | 28–122 | 14 | |
| 8.2 | 146 | 28–122 | 14 | |
| 8.1 | 146 | 28–122 | 14 | |
| 7.4 | 146 | 28–122 | 14 |
An instruction is not a fixed amount of time, so a matching count is not necessarily the same speed; what it rules out is a difference in the work itself.
Hooks and filters fired · 3
3 hooks fire while activate_plugin() runs, in this order:
- do_action( activate_{$plugin} )actionline 703 (+62 into the body)
Fires before a plugin is activated.
- do_action( activated_plugin )actionline 730 (+89 into the body)
Fires after a plugin has been activated.
Uses · 17
- plugin_basename()Gets the basename of a plugin.
- is_multisite()Determines whether Multisite is enabled.
- is_network_only_plugin()Checks for "Network: true" in the plugin header to see if this should be activated only as a network wide plugin. The plugin would also work when Multisite is not enabled.
- get_site_option()Retrieve an option value for the current network based on name of option.
- get_option()Retrieves an option value based on an option name.
- validate_plugin()Validates the plugin path.
- is_wp_error()Checks whether the given variable is a WordPress Error.
- validate_plugin_requirements()Validates the plugin requirements for WordPress version and PHP version.
- wp_redirect()Redirects to another page.
- add_query_arg()Retrieves a modified URL query string.
- wp_create_nonce()Creates a cryptographic token tied to a specific action, user, user session, and window of time.
- plugin_sandbox_scrape()Loads a given plugin attempt to generate errors.
Show all 17
- do_action()Calls the callback functions that have been added to an action hook.
- update_site_option()Updates the value of an option that was already added for the current network.
- update_option()Updates the value of an option that was already added.
- __()Retrieves the translation of $text.
- WP_Error::__construct()Initializes the error.
Used by · 3
- WP_REST_Plugins_Controller::handle_plugin_status()Handle updating a plugin's status.
- activate_plugins()Activates multiple plugins.
- wp_ajax_activate_plugin()Handles activating a plugin via AJAX.
Source code
function activate_plugin( $plugin, $redirect = '', $network_wide = false, $silent = false ) { $plugin = plugin_basename( trim( $plugin ) ); if ( is_multisite() && ( $network_wide || is_network_only_plugin( $plugin ) ) ) { $network_wide = true; $current = get_site_option( 'active_sitewide_plugins', array() ); $_GET['networkwide'] = 1; // Back compat for plugins looking for this value. } else { $current = get_option( 'active_plugins', array() ); } $valid = validate_plugin( $plugin ); if ( is_wp_error( $valid ) ) { return $valid; } $requirements = validate_plugin_requirements( $plugin ); if ( is_wp_error( $requirements ) ) { return $requirements; } if ( $network_wide && ! isset( $current[ $plugin ] ) || ! $network_wide && ! in_array( $plugin, $current, true ) ) { if ( ! empty( $redirect ) ) { // We'll override this later if the plugin can be included without fatal error. wp_redirect( add_query_arg( '_error_nonce', wp_create_nonce( 'plugin-activation-error_' . $plugin ), $redirect ) ); } ob_start(); // Load the plugin to test whether it throws any errors. plugin_sandbox_scrape( $plugin ); if ( ! $silent ) { /** * Fires before a plugin is activated. * * If a plugin is silently activated (such as during an update), * this hook does not fire. * * @since 2.9.0 * * @param string $plugin Path to the plugin file relative to the plugins directory. * @param bool $network_wide Whether to enable the plugin for all sites in the network * or just the current site. Multisite only. Default false. */ do_action( 'activate_plugin', $plugin, $network_wide ); /** * Fires as a specific plugin is being activated. * * This hook is the "activation" hook used internally by register_activation_hook(). * The dynamic portion of the hook name, `$plugin`, refers to the plugin basename. * * If a plugin is silently activated (such as during an update), this hook does not fire. * * @since 2.0.0 * * @param bool $network_wide Whether to enable the plugin for all sites in the network * or just the current site. Multisite only. Default false. */ do_action( "activate_{$plugin}", $network_wide ); } if ( $network_wide ) { $current = get_site_option( 'active_sitewide_plugins', array() ); $current[ $plugin ] = time(); update_site_option( 'active_sitewide_plugins', $current ); } else { $current = get_option( 'active_plugins', array() ); $current[] = $plugin; sort( $current ); update_option( 'active_plugins', $current ); } if ( ! $silent ) { /** * Fires after a plugin has been activated. *Changelog
Introduced in 2.5.0. Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
About this page
- Parsed data
- Generated from the wordpress-develop 7.1.0 tag, from
src/wp-admin/includes/plugin.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it. - Corrections
- Something wrong on this page? Report it and it gets fixed in the next regeneration.