Gravity Forms License Key May 2026
add_action('gf_check_license_alert', 'gf_send_expiry_alert'); function gf_send_expiry_alert()
add_filter('pre_site_transient_update_plugins', 'gf_disable_updates_if_invalid'); function gf_disable_updates_if_invalid($transient) !$status['is_valid']) if (isset($transient->response['gravityforms/gravityforms.php'])) unset($transient->response['gravityforms/gravityforms.php']); return $transient; gravity forms license key
function gf_check_license_status($force = false) $license_key = get_option('gf_license_key'); if (empty($license_key)) return false; $cached = get_transient('gf_license_status'); if (!$force && $cached !== false) return $cached; if (empty($license_key)) return false
$response = wp_remote_post('https://gravityforms.com/api/validate/', [ 'body' => [ 'license_key' => $license_key, 'site_url' => home_url() ], 'timeout' => 15 ]); $cached = get_transient('gf_license_status')
set_transient('gf_license_status', $result, DAY_IN_SECONDS); return $result;
$body = json_decode(wp_remote_retrieve_body($response), true); $is_valid = isset($body['is_valid']) && $body['is_valid'] === true;
$result = [ 'is_valid' => $is_valid, 'expiration' => $body['expiration'] ?? null, 'days_left' => null ];