As of Gravity Forms 2.2, add-ons can now easily define requirements that are needed before the add-on can be used. Defining requirements is as simple as overriding the minimum_requirements function in the GFAddOn class.
class Example_AddOn extends GFAddOn {
public function minimum_requirements() {
return array(
'wordpress' => array(
'version' => '4.6.2',
)
);
}
}
WordPress Requirements
Using the wordpress array key, requirements based on the WordPress installation can be defined.
array(
'wordpress' => array(
// WordPress-related requirements go here.
)
)
WordPress Version
Within the wordpress requirement, the version key can be used to define a specific WordPress version to be used as a minimum requirement. Versions higher than this number will succeed, while lower versions will fail.
array(
'wordpress' => array(
'version' => '4.6.2'
)
)
WordPress Plugins
array(
'plugins' => array(
'rest-api/plugin.php',
),
)
Plugin Name
array(
'plugins' => array(
'jetpack/jetpack.php' => 'Jetpack by WordPress.com',
),
)
PHP Requirements
Requirements related to PHP versions, extensions, or even available functions can be defined by using the php array key.
array(
'php' => array(
// PHP-related requirements go here.
)
)
PHP Version
array(
'php' => array(
'version' => '5.6',
)
)
Extensions
array(
'php' => array(
'extensions' => array(
'curl',
),
),
)
Extension Version
array(
'php' => array(
'extensions' => array(
'curl' => array(
'version' => '1.0',
),
),
),
)
Functions
array(
'php' => array(
'functions' => array(
'openssl_random_pseudo_bytes',
),
),
)
Gravity Forms Requirements
Gravity Forms Add-Ons
array(
'add-ons' => array(
'gravityformsmailchimp',
),
)
Add-On Name
array(
'add-ons' => array(
'gravityformsstripe' => array(
'name' => 'Gravity Forms Stripe Add-On',
),
),
)
Add-On Version
array(
'add-ons' => array(
'gravityformspaypal' => array(
'version' => '5.0',
),
),
)
Custom Requirements
array(
array( $this, 'custom_requirement_callback' ),
)