WC_Plugin_Updates::get_untested_plugins()
Get installed plugins that have a tested version lower than the input version.
In case of testing major version compatibility and if current WC version is >= major version part of the $new_version, no plugins are returned, even if they don't explicitly declare compatibility with the $new_version.
Method of the class: WC_Plugin_Updates{}
No Hooks.
Return
Array
. of plugin info arrays
Usage
$WC_Plugin_Updates = new WC_Plugin_Updates(); $WC_Plugin_Updates->get_untested_plugins( $new_version, $release );
- $new_version(string) (required)
- WooCommerce version to test against.
- $release(string) (required)
- 'major', 'minor', or 'none'.
WC_Plugin_Updates::get_untested_plugins() WC Plugin Updates::get untested plugins code WC 9.7.1
public function get_untested_plugins( $new_version, $release ) { // Since 5.0 all versions are backwards compatible. if ( 'none' === $release ) { return array(); } $extensions = array_merge( $this->get_plugins_with_header( self::VERSION_TESTED_HEADER ), $this->get_plugins_for_woocommerce() ); $untested = array(); $new_version_parts = explode( '.', $new_version ); $version = $new_version_parts[0]; if ( 'minor' === $release ) { $version .= '.' . $new_version_parts[1]; } foreach ( $extensions as $file => $plugin ) { if ( ! empty( $plugin[ self::VERSION_TESTED_HEADER ] ) ) { $plugin_version_parts = explode( '.', $plugin[ self::VERSION_TESTED_HEADER ] ); if ( ! is_numeric( $plugin_version_parts[0] ) || ( 'minor' === $release && ! isset( $plugin_version_parts[1] ) ) || ( 'minor' === $release && ! is_numeric( $plugin_version_parts[1] ) ) ) { continue; } $plugin_version = $plugin_version_parts[0]; if ( 'minor' === $release ) { $plugin_version .= '.' . $plugin_version_parts[1]; } if ( version_compare( $plugin_version, $version, '<' ) ) { $untested[ $file ] = $plugin; } } else { $plugin[ self::VERSION_TESTED_HEADER ] = __( 'unknown', 'woocommerce' ); $untested[ $file ] = $plugin; } } return $untested; }