Check for a match without including IP

add_filter( ‘frm_duplicate_check_val’, ‘my_custom_function’ ); function my_custom_function( $check_val ) { if ( 123 === (int) $check_val[‘form_id’] ) { //replace 123 with the id of the form you need to catch unset( $check_val[‘ip’] ); } return $check_val; }Continue reading

Close forms on the weekend

add_action( ‘frm_display_form_action’, ‘frm_close_form_on_weekends’, 8, 3 ); function frm_close_form_on_weekends( $params, $fields, $form ) { remove_filter( ‘frm_continue_to_new’, ‘__return_false’, 50 ); if ( in_array( $form->id, array( 214, 216, 217 ) ) && ! is_admin() ) { //replace 214, 216, 217 with the ids…Continue reading

Add custom CSS class to each option

add_filter( ‘frm_images_dropdown_option_classes’, ‘add_css_class_image_dropdown’, 10, 2); function add_css_class_image_dropdown( $classes, $args ) { $classes .= ‘ your-custom-class’; return $classes; }Continue reading

Open forms on certain days and times

add_action( ‘frm_display_form_action’, ‘frm_open_hours_and_days’, 8, 3 ); function frm_open_hours_and_days( $params, $fields, $form ) { remove_filter( ‘frm_continue_to_new’, ‘__return_false’, 50 ); if ( ! in_array( $form->id, array( 214, 216, 217 ) ) || is_admin() ) { //replace 214, 216, 217 with the ids…Continue reading

Adjust temporary files deletion period

add_filter(‘frm_delete_temp_files_period’, ‘adjust_temp_files_deletion_period’); function adjust_temp_files_deletion_period( $period ) { // default is -3 hours return ‘-30 minutes’; // minimum life span of a file }Continue reading

Save api response for repeater

add_action( ‘frm_after_create_entry’, ‘frm_save_api_response_for_repeater’, 10, 2 ); function frm_save_api_response_for_repeater( $entry_id, $form_id ) { $target_child_form_id = 99; // change 99 to the ID of the child form if ( $target_child_form_id == $form_id ) { $repeater_field_id = 123; // change 123 to the…Continue reading

Disable tooltip in the pie graph

add_filter(‘frm_google_chart’, ‘frm_pie_chart_tooltip’, 10, 2); function frm_pie_chart_tooltip($options, $atts){ if ( $atts[‘type’] == ‘pie’ ) { $options[‘tooltip’] = array(‘trigger’ => ‘none’); } return $options; }Continue reading

Display multi-select option values

add_filter( ‘frmpro_fields_replace_shortcodes’, ‘frm_display_option_values_with_pattern’, 10, 4 ); function frm_display_option_values_with_pattern( $replace_with, $tag, $atts, $field ) { if ( isset ( $atts[‘pattern’] ) ) { if( $replace_with ) { $pattern = $atts[‘pattern’]; if( is_array( $replace_with ) ){ foreach($replace_with as $key => $value) {…Continue reading

Access a row on a repeater

add_action( ‘frm_before_destroy_entry’, ‘my_custom_function’,9 ); function my_custom_function( $entry_id ) { $entry = FrmEntry::getOne( $entry_id, true ); if ( $entry->parent_item_id !== ‘0’ ) { // do something for repeating group entries from this form } }Continue reading