$plugin_info ) { $slug = dirname( plugin_basename( $plugin_file ) ); if ( $slug ) { if ( $slug === $plugin_slug ) { return $plugin_file; } } } return null; } /** * Return plugin details. * * @since 1.0.0 * * @param string $slug Plugin slug. * @return array Plugin details. */ public static function get_plugin_info( $slug ) { $output = array(); if ( ! function_exists( 'plugins_api' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; } $api = plugins_api( 'plugin_information', array( 'slug' => sanitize_file_name( $slug ), 'fields' => array( 'short_description' => true, 'sections' => false, 'contributors' => false, 'banners' => false, 'versions' => false, 'requires' => false, 'downloaded' => true, 'last_updated' => false, 'added' => false, 'tags' => false, 'compatibility' => false, 'homepage' => false, 'donate_link' => false, 'ratings' => false, 'icons' => true, ), ) ); if ( ! is_wp_error( $api ) ) { $output = $api; } return $output; } /** * Return plugin local data. * * @since 1.0.0 * * @param string $slug Plugin slug. * @return array Plugin details. */ public static function get_plugin_information( $slug ) { $output = array(); $plugins = self::get_all_plugins(); $plugin_file = self::get_plugin_file( $slug ); if ( isset( $plugins[ $plugin_file ] ) ) { $output = $plugins[ $plugin_file ]; } return $output; } }