The GF_Field_CAPTCHA class extends the GF_Field class, also known as the Field Object. This class is responsible for determining how the CAPTCHA field is rendered when the form is displayed and how its value is handled during and after form submission.
Settings and Properties
Settings control what options are available to the admin user when configuring the field in the form editor. Gravity Forms includes many built-in settings such as Field Label, Field Description, Choices, Conditional Logic, etc. In addition to built-in settings, custom settings can also be developed. For more information on how to develop custom settings and how to associate settings to a field, visit the GF_Field page.
Properties contain the values specified by the settings and generally are part of the Field Object.
The properties may be retrieved by accessing the Field Object as follows:
//get the field $field = GFFormsModel::get_field( $form, 1 ); //get the captcha type $captcha_type = $field->captchaType;
The following settings are available for the field:
Determines whether the “Type” section displays. If the plugin “Really Simple Captcha” is also installed, the type may be the default Google reCAPTCHA, Really Simple Captcha, or Math Challenge. The type drop down does not appear if this plugin is not available.
Controls whether the “Enable Conditional Logic” setting appears.
Controls whether the “Custom CSS Class” setting displays. This allows a custom css to be used for the field.
Controls whether the “Description” setting appears. This allows a description for the field to be displayed.
Controls whether the “Custom Validation Message” setting which allows a custom message to be used appears.
Controls whether the “Field Label” setting which allows the label to be changed appears.
Below is a listing of the properties inherited from the parent class, and the properties unique to the field:
- adminLabel string
The label to be used on admin pages instead of the label, useful for fields with long labels.
The language used when the captcha is displayed. This property is available when the captchaType is “captcha”, the default. The possible values are the language codes used by WordPress.
The theme being used for the captcha. This property is available when the captchaType is “captcha”, the default. The possibles values are “light” and “dark”.
The captcha type being used. The default value will be “captcha” for Google’s reCAPTCHA. If the plugin “Really Simple Captcha” is installed, there are two other choices available, “Really Simple Captcha” with the value “simple_captcha” and “Match Challenge” with the value “math”.
An associative array containing the conditional logic rules. See the Conditional Logic Object for more details.
The custom CSS class or classes to be added to the input tag for the field.
The field description.
The placement of the field description. The description may be placed “above” or “below” the field inputs. If the placement is not specified, then the description placement setting for the Form Layout is used.
The custom error message to be displayed if the field fails validation.
The form ID.
The field ID.
The field label that will be displayed on the form and on the admin pages.
The color of the background behind the text when the captcha is displayed. This property is available when the plugin Really Simple Captcha is installed and the captcha type is “simple_captcha” or “math”. The color is represented using its HEX value.
The color of the font when the captcha is displayed. This property is available when the plugin Really Simple Captcha is installed and the captcha type is “simple_captcha” or “math”. The color is represented using its HEX value.
The size of the captcha text that is displayed. This property is available when the plugin Really Simple Captcha is installed and the captcha type is “simple_captcha” or “math”. The possible values are “small”, “medium”, “large”.
The field type, which in this case is captcha.
The source code is located in includes/fields/class-gf-field-captcha.php in the Gravity Forms folder of your sites plugins directory.