wp_get_active_and_valid_plugins() – Retrieve an array of active and valid plugin files.

You appear to be a bot. Output may be restricted

Description

Retrieve an array of active and valid plugin files.

While upgrading or installing WordPress, no plugins are returned. The default directory is `wp-content/plugins`. To change the default directory manually, define WP_PLUGIN_DIR and WP_PLUGIN_URL in `wp-config.php`.

Usage

$string[] = wp_get_active_and_valid_plugins();

Parameters

Returns

string[] Array of paths to plugin files relative to the plugins directory.

Source

File name: wordpress/wp-includes/load.php
Lines:

1 to 37 of 37
function wp_get_active_and_valid_plugins() {
  $plugins        = array();
  $active_plugins = (array) get_option( 'active_plugins', array() );

  // Check for hacks file if the option is enabled.
  if ( get_option( 'hack_file' ) && file_exists( ABSPATH . 'my-hacks.php' ) ) {
    _deprecated_file( 'my-hacks.php', '1.5.0' );
    array_unshift( $plugins, ABSPATH . 'my-hacks.php' );
  }

  if ( empty( $active_plugins ) || wp_installing() ) {
    return $plugins;
  }

  $network_plugins = is_multisite() ? wp_get_active_network_plugins() : false;

  foreach ( $active_plugins as $plugin ) {
    if ( ! validate_file( $plugin )                     // $plugin must validate as file.
      && '.php' === substr( $plugin, -4 )             // $plugin must end with '.php'.
      && file_exists( WP_PLUGIN_DIR . '/' . $plugin ) // $plugin must exist.
      // Not already included as a network plugin.
      && ( ! $network_plugins || ! in_array( WP_PLUGIN_DIR . '/' . $plugin, $network_plugins, true ) )
      ) {
      $plugins[] = WP_PLUGIN_DIR . '/' . $plugin;
    }
  }

  /*
	 * Remove plugins from the list of active plugins when we're on an endpoint
	 * that should be protected against WSODs and the plugin is paused.
	 */
  if ( wp_is_recovery_mode() ) {
    $plugins = wp_skip_paused_plugins( $plugins );
  }

  return $plugins;
}
 

 View on GitHub View on Trac