/** * Tests which editors are capable of supporting the request. * * @since 3.5.0 * @access private * * @return string|bool Class name for the first editor that claims to support the request. False if no editor claims to support the request. */ private static final function choose_implementation() { if (null === self::$implementation) { $request_order = apply_filters('wp_editors', array('imagick', 'gd')); // Loop over each editor on each request looking for one which will serve this request's needs foreach ($request_order as $editor) { $class = 'WP_Image_Editor_' . $editor; // Check to see if this editor is a possibility, calls the editor statically if (!call_user_func(array($class, 'test'))) { continue; } self::$implementation = $class; break; } } return self::$implementation; }