This article contains PHP code and is intended for developers. We offer this code as a courtesy, but don't provide support for code customizations or 3rd party development.
Add settings in the field-specific section in field options.
Usage
add_action( 'frm_field_options', 'my_custom_function' );
Parameters
- $args (array)
- 'field' (array)
- 'display' (array) - A list of field options that should be shown for the current field.
- 'values' (array) - Details about the form.
Examples
Include padding settings
This example will include and save padding settings for the input text type fields.
// Add the padding setting in the field.
add_action( 'frm_field_options', 'my_custom_function' );
function my_custom_function( $args ) {
$field = $args['field'];
$is_text_input = FrmField::is_field_type( $field, 'text' ); // replace 'text' with the type of the field you need to evaluate - for example: radio, checkbox
if ( $is_text_input ) {
?>
<p class="frm6 frm_form_field">
<label><?php esc_html_e( 'Padding', 'formidable' ); ?></label>
<input type="text" class="frm_repeat_limit" name="field_options[padding_<?php echo absint( $field['id'] ); ?>]" value="<?php echo ( isset( $field['padding'] ) ) ? esc_attr( $field['padding'] ) : ''; ?>"/>
</p>
<?php
}
}
// Save the padding settings
add_filter( 'frm_update_field_options', 'update_field_options', 10, 3 );
function update_field_options( $field_options, $field, $values ) {
if( $field->type != 'text' ) {
return $field_options;
}
$defaults = array(
'padding' => ''
);
foreach ( $defaults as $opt => $default ) {
$field_options[ $opt ] = isset( $values['field_options'][ $opt . '_' . $field->id ] ) ? $values['field_options'][ $opt . '_' . $field->id ] : $default;
}
return $field_options;
}
In our Public GitHub Repository you can find several examples of what the html of the field settings would be like.
For extra info on how to save a setting once it's added you can follow this example example.