Add Order ID to Entry

add_action( ‘woocommerce_new_order_item’, ‘add_order_id_to_entry’, 10, 3 ); function add_order_id_to_entry( $item_id, $cart_item, $order_id ) { // check if there’s form data to process if ( empty( $cart_item->legacy_values[‘_formidable_form_data’] ) ) { return; } // get form entry $entry = FrmEntry::getOne( $cart_item->legacy_values[‘_formidable_form_data’] ); if…Continue reading

Dynamically add Order ID and save entry data with Order

add_action( ‘woocommerce_new_order_item’, ‘save_entry_data_with_order’, 10, 3 ); function save_entry_data_with_order( $item_id, $cart_item, $order_id ) { // check if there’s form data to process if ( empty( $cart_item->legacy_values[‘_formidable_form_data’] ) ) { return; } // get form entry $entry = FrmEntry::getOne( $cart_item->legacy_values[‘_formidable_form_data’] ); if…Continue reading

Change field value after completed order

add_action( ‘woocommerce_order_status_completed’, ‘update_frm_entry_after_wc_order_completed’ ); function update_frm_entry_after_wc_order_completed( $order_id ) { $order = new WC_Order( $order_id ); $items = $order->get_items(); foreach ( $items as $item_id => $product ) { if ( isset( $product[‘formidable_form_data’] ) && is_numeric( $product[‘formidable_form_data’] ) ) { $entry_id =…Continue reading

Modify field types in order

add_filter( ‘wc_fp_exclude_fields’, ‘frm_adjust_exclude_fields’ ); function frm_adjust_exclude_fields( $exclude ) { $key = array_search( ‘textarea’, $exclude ); if ( $key !== false ) { unset( $exclude[ $key ] ); } return $exclude; }Continue reading

Include or exclude fields in cart

add_filter( ‘wc_fp_include_field_in_cart’, ‘frm_show_field_in_cart’, 10, 3 ); function frm_show_field_in_cart( $display, $field, $value ) { if ( in_array( $field->id, array( ‘123’, ‘345’, ‘456’ ) ) ) { $display = true; } else if ( in_array( $field->id, array( ‘987’, ‘765’, ‘543’ ) )…Continue reading

Set the minimum date for second repeating date field

add_action(‘frm_date_field_js’, ‘start_and_end_dates_repeating’, 10, 2); function start_and_end_dates_repeating($field_id, $options){ $days_between = 0;// Change 0 to the number of days that should be between the start and end dates $field_one = ‘field_pickup‘;// Change pickup to the KEY of the first date field $field_two…Continue reading

Move description

add_filter(‘frm_custom_html’, ‘frm_move_field_description’, 20, 2); function frm_move_field_description( $default_html, $field_type ) { $start_description = ‘[if description]’; $end_description = ‘[/if description]’; $description_start_pos = strpos( $default_html, $start_description ); $description_end_pos = strpos( $default_html, $end_description ); if ( $description_start_pos === false || $description_end_pos === false )…Continue reading

Black out specific dates

add_filter(‘frm_selectable_dates’, ‘frm_black_out_specific_dates’, 10, 2); function frm_black_out_specific_dates( $selectable, $args ) { if ( $args[‘field’]->field_key == ‘pcm7rl3‘ ) { //replace pcm7rl3 with your field key $selectable = ‘( y+”-“+m+”-“+d != “2017-5-29” && y+”-“+m+”-“+d != “2017-7-4” )’; } return $selectable; }Continue reading

Disable datepicker on mobile

add_filter( ‘frm_field_classes’, ‘frm_remove_date_field_class’, 30, 2 ); function frm_remove_date_field_class( $class, $field ) { if ( $field[‘type’] == ‘date’ && wp_is_mobile() ) { $class = str_replace(‘ frm_date’, ”, $class ); } return $class; }Continue reading