wppaste
WordPress

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
Attempts activation of plugin in a "sandbox" and redirects on success.

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

Reads stored settings via get_site_option(), cached per request but not free on a cold cache.

Scaling
Constant

No loop in the body: the same number of instructions runs whatever you pass in.

Instructions
26–117

Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 141.

Plugin surface
3 hooks

Third-party callbacks on 'activate_plugin', 'activate_{$plugin}', 'activated_plugin' run inside this call, and their cost is not bounded by anything here.

Called by
3

3 places in core call this, so the cost is paid more often than your own code shows.

What it touches

  • optionnetwork optionget_site_option()called directly
  • hookthird-party callbacksdo_action()called directly
  • cacheobject cachewp_cache_get()one call below activate_plugin()
  • serializeserialisationmaybe_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.

WhenInstructionsCalls it makes
!is_multisite() && is_wp_error()26plugin_basename(), is_multisite(), get_option(), validate_plugin(), is_wp_error()
is_multisite() && !is_network_only_plugin() && is_wp_error()31plugin_basename(), is_multisite(), is_network_only_plugin(), get_option(), validate_plugin(), is_wp_error()
is_multisite() && is_wp_error()32plugin_basename(), is_multisite(), get_site_option(), validate_plugin(), is_wp_error()
!is_multisite() && !is_wp_error()34–41plugin_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()36plugin_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–46plugin_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–47plugin_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–51plugin_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–71plugin_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–71plugin_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–76plugin_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–76plugin_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–76plugin_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–76plugin_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–77plugin_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–77plugin_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–80plugin_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–80plugin_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–81plugin_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–81plugin_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–81plugin_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–81plugin_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–81plugin_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–81plugin_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–82plugin_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–82plugin_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–83plugin_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–83plugin_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–85plugin_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–85plugin_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–85plugin_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–85plugin_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–86plugin_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–86plugin_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–86plugin_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–86plugin_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–86plugin_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–86plugin_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–86plugin_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–86plugin_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–87plugin_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–87plugin_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–88plugin_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–88plugin_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–88plugin_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–88plugin_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–89plugin_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–89plugin_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–90plugin_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–90plugin_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–90plugin_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–90plugin_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–90plugin_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–90plugin_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–91plugin_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–91plugin_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–91plugin_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–91plugin_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–91plugin_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–91plugin_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–92plugin_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–92plugin_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–92plugin_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–92plugin_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–93plugin_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–93plugin_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–93plugin_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–93plugin_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–93plugin_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–93plugin_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–94plugin_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–94plugin_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–95plugin_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–95plugin_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–95plugin_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–95plugin_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–95plugin_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–95plugin_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–96plugin_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–96plugin_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–96plugin_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–96plugin_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–97plugin_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–97plugin_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–97plugin_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–97plugin_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–98plugin_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–98plugin_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–98plugin_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–98plugin_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–98plugin_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–98plugin_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–98plugin_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–98plugin_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–99plugin_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–99plugin_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–100plugin_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–100plugin_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–100plugin_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–100plugin_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–101plugin_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–101plugin_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–102plugin_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–102plugin_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–102plugin_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–102plugin_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–102plugin_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–102plugin_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–103plugin_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–103plugin_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–103plugin_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–103plugin_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–103plugin_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–103plugin_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–104plugin_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–104plugin_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–105plugin_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–105plugin_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–107plugin_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–107plugin_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–107plugin_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–107plugin_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–107plugin_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–107plugin_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–108plugin_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–108plugin_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–108plugin_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–108plugin_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–112plugin_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–112plugin_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–112plugin_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–112plugin_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–113plugin_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–113plugin_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–117plugin_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–117plugin_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

PHPCompiledExecutedBranchesNotes
8.6-dev14126–11714
8.514126–11714
8.414126–117145 fewer instructions than PHP 8.3
8.314628–12214
8.214628–12214
8.114628–12214
7.414628–12214

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:

  1. do_action( activate_plugin )actionline 688 (+47 into the body)

    Fires before a plugin is activated.

  2. do_action( activate_{$plugin} )actionline 703 (+62 into the body)

    Fires before a plugin is activated.

  3. do_action( activated_plugin )actionline 730 (+89 into the body)

    Fires after a plugin has been activated.

Uses · 17

Show all 17

Used by · 3

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.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

5.2.0
Test for WordPress version and PHP version compatibility.from the docblock
2.5.0
Introduced.from the docblock

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.