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 customize the value displayed in a Dynamic List field (previously called a Dynamic - Show It field, hence the hook name).
Usage
add_filter('frm_show_it', 'custom_dynamic_list_display', 10, 3); function custom_dynamic_list_display( $html, $value, $args )
Parameters
- $html (string): the full HTML to be displayed
- $value (mixed) : the value to be displayed
- $args (array): additional attributes including the entry ID and the linked field object
Examples
Customize a Dynamic List field
Use the code below to customize the HTML displayed in a Dynamic List field.
add_filter('frm_show_it', 'custom_dynamic_list_display', 10, 3);
function custom_dynamic_list_display( $html, $value, $args ) {
if ( $args['field']->id == 30 ) { //change 30 to the id of the linked field ID
// Customize displayed value here
}
return $html;
}
Show full image instead of thumbnail
Use the code below to show the full selected image in a Dynamic List field, instead of just the thumbnail.
add_filter( 'frm_show_it', 'custom_frm_show_it', 10, 3 );
function custom_frm_show_it( $html, $value, $args ) {
if ( $args['field']->id == 30 ) { //change 30 to the id of the upload field in the other form
$media_ids = explode( ', ', $args['value'] );
$html = "<div class='frm_show_it'>";
$new_value = '';
foreach ( $media_ids as $media_id ) {
$image = FrmProFieldsHelper::get_display_value( $media_id, $args['field'], array(
'show_image' => true,
'size' => 'full'
) );
$new_value .= $image;
}
$html .= "<p>" . $new_value . "</p>";
$html .= '</div>';
}
return $html;
}
Show option label
If you are pulling data from a field with separate values, Dynamic List fields will show the saved value. If you would like to show the option label instead, use the code below. Just replace 485 with the ID of the field that your Dynamic List field is retrieving its value from.
add_filter('frm_show_it', 'dynamic_list_show_option_label', 10, 3);
function dynamic_list_show_option_label( $html, $value, $args ){
if ( $args['field']->id == 485 && $args['field']->field_options['separate_value'] ) {
foreach ( $args['field']->options as $option ) {
if ( is_array( $option ) && isset( $option['value'] ) && $option['value'] == $value ) {
$html = str_replace( $value, $option['label'], $html );
break;
}
}
}
return $html;
}