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.
Use this hook to change the HTML for any fields in your form.
Usage
add_filter('frm_replace_shortcodes', 'frm_change_my_html', 10, 3); function frm_change_my_html($html, $field, $args)
Parameters
- $html (string)
- $field (array)
- 'id' (int)
- 'default_value' (string)
- 'type' (string)
- $args (array)
- 'errors' (array)
- 'form' (array)
Examples
Basic Usage
This example can be used to add text or HTML below each field in your form.
add_filter('frm_replace_shortcodes', 'frm_change_my_html', 10, 3);
function frm_change_my_html($html, $field, $args){
if($args['form']['id'] == 10){ //change 10 the id of the form to change
$html .= 'add additional content here ';
}
return $html;
}
Checkbox and Radio Button HTML
Use this example to take the radio or checkbox input OUT of the label tags. Please note: Conditional logic that uses radio or checkbox fields will NOT work when you use this code. You must use custom JavaScript to make other fields show or hide when a specific checkbox or radio button is selected.
add_filter('frm_replace_shortcodes', 'frm_change_my_html', 10, 3);
function frm_change_my_html($html, $field, $args){
if ( in_array ( $field['type'], array( 'radio', 'checkbox' ) ) ) {
$temp_array = explode('/>', $html);
$new_html = '';
foreach ( $temp_array as $key => $piece ) {
// Get current for attribute
if ( ( $pos = strpos( $piece, 'field_' . $field['field_key'] . '-' ) ) !== FALSE ) {
$new_key = substr( $piece, $pos );
$key_parts = explode( '"', $new_key, 2);
$new_key = reset( $key_parts );
} else {
$new_html .= $piece;
continue;
}
// Move opening label tag
$label = '
Make this example specific to a field or fields by replacing this:
if ( in_array( $field['type'], array( 'checkbox', 'radio' ) ) ) {
with this:
if ( in_array( $field['id'], array( x, y, z ) ) ) {