Don’t validate reCaptcha during API request

add_filter( ‘frm_is_field_hidden’, ‘mark_recaptcha_hidden’, 20, 2 ); function mark_recaptcha_hidden( $hidden, $field ) { $is_api_request = defined( ‘REST_REQUEST’ ) && REST_REQUEST; if ( FrmField::is_field_type( $field, ‘captcha’ ) && $is_api_request ) { $hidden = true; } return $hidden; }Continue reading

Create an entry in another form

add_action(‘frm_after_create_entry’, ‘create_entry_after_submission’, 30, 2); function create_entry_after_submission($entry_id, $form_id){ if ( $form_id != 372 ) {//Change 372 to the ID of Form A return; } $form2 = ‘373‘;//Change 373 to the ID of Form B //Get user if (!isset($_POST[‘frm_user_id’])){ return; } $user…Continue reading

Run code when user saves a draft

add_action(‘frm_after_create_entry’, ‘frm_after_save_draft’, 30, 2); add_action(‘frm_after_update_entry’, ‘frm_after_save_draft’, 30, 2); function frm_after_save_draft($entry_id, $form_id){ if ( $form_id == 221 ) { //change 221 to the ID of your form if ($_POST[‘frm_saving_draft’] == 1) { // do something here } } }Continue reading

Move and rename files

add_action( ‘frm_after_create_entry’, ‘frm_move_file_and_rename’ ); function frm_move_file_and_rename() { $field_ids = array( 25, 26 ); // change field IDs to the IDs of your file upload fields foreach ( $field_ids as $field_id ) { if ( isset( $_POST[‘item_meta’][ $field_id ] ) )…Continue reading

Change date format

add_filter(‘frm_graph_data’, ‘change_my_graph_date_format’, 10, 2); function change_my_graph_date_format( $data, $atts ) { if ( isset( $atts[‘x_axis’] ) && $atts[‘x_axis’] == ‘created_at’ ) { $wp_date_format = get_option(‘date_format’); $new_format = ‘F d’; for ( $i = 1, $l = count( $data ); $i<$l; $i++…Continue reading

Generate a cumulative graph

add_filter(‘frm_graph_data’, ‘generate_cumulative_graph’, 10, 2); function generate_cumulative_graph( $data, $atts ) { if ( isset( $atts[‘title’] ) && $atts[‘title’] == ‘Cumulative graph’ ) { for ( $i=2, $l=count($data); $i<$l; $i++ ) { $data[ $i ][1]+= $data[ $i-1 ][1]; } } return $data;…Continue reading

Skip if one of two fields is empty

add_filter( ‘frm_skip_form_action’, ‘form_action_conditions’, 10, 2 ); function form_action_conditions( $skip_this_action, $args ) { if ( $args[‘action’]->ID == 115 ) {//replace 115 with your action ID if ( is_object( $args[‘entry’] ) ) { $entry = $args[‘entry’]; } else { $entry = FrmEntry::getOne(…Continue reading

Adjust values displayed in cart

add_filter( ‘wc_fp_cart_item_data’, ‘modify_frm_woo_display’, 10, 2 ); function modify_frm_woo_display( $values, $args ) { if ( in_array( $args[‘field’]->id, array( 123, 124, 125 ) ) ) { $end_position = strpos( $values[‘display’], ‘ (‘ ); $values[‘display’] = substr( $values[‘display’], 0, $end_position ); } return…Continue reading

Basic Example

add_filter(‘frm_field_div_classes’, ‘add_div_class’, 10, 2); function add_div_class($classes, $field){ $space = ‘ ‘; if($field[‘id’] == 3137){ //change 3137 to the ID of your field $classes .= $space . ‘class_name‘; //change class_name to your CSS class } return $classes; }Continue reading