Limit options in TinyMCE Editor

add_filter(‘frm_rte_options’, ‘rte_limit_options’, 10, 2); function rte_limit_options($opts, $field){ $opts[‘tinymce’] = array(“toolbar1” => “undo redo bold italic alignleft aligncenter alignright alignjustify | bullist numlist outdent indent”); return $opts; }Continue reading

Reverse entry order in a repeater

add_filter(‘frmpro_fields_replace_shortcodes’, ‘reverse_entry_order_repeater’, 10, 4); function reverse_entry_order_repeater( $value, $tag, $atts, $field ) { if ( ! empty( $atts[‘foreach_entry_order’] ) && ‘desc’ === $atts[‘foreach_entry_order’] ) { arsort( $value ); } return $value; }Continue reading

Filter payment method

add_filter(‘frm_stripe_payment_method_types’, ‘filter_stripe_payment_method’, 10, 2); function filter_stripe_payment_method( $payment_method_types, $args ) { $map = array( 75 => array( ‘affirm’ ), 76 => array( ‘card’, ‘link’, ‘klarna’ ), ); $form_id = $args[‘form_id’]; if ( isset( $map[ $form_id ] ) ) { $payment_method_types =…Continue reading

Generate slug for the View detail page

add_filter(‘frm_validate_entry’, ‘key_as_slug’, 20, 2); function key_as_slug($errors, $values){ if ( $values[‘form_id’] == 40) { //Change 40 to the ID of your form $string = $_POST[‘item_meta’][21]; //change 21 to the ID of the first field (i.e. the business name field) $count =…Continue reading

Customize downloaded PDF filename to match post title

add_filter(‘frm_pdfs_export_file_name’, ‘use_post_title_for_pdf_filename’ , 10, 2); function use_post_title_for_pdf_filename( $file_name, $args ) { $target_form_id = 23; //Change 23 to the ID of the form. if ( $target_form_id !== (int) $args[‘entry’]->form_id ) { return $file_name; } $post_id = $args[‘entry’]->post_id; if ( ! $post_id…Continue reading

Add custom attribute to the modal button

add_filter(‘frm_modal_link’, ‘add_attr_modal_btn’, 10, 2); function add_attr_modal_btn( $link, $atts ) { $link = str_replace( ‘data-bs-toggle’, ‘data-custom-attr=”value” data-bs-toggle’, $link ); return $link; }Continue reading

Use custom font for specific entries

add_filter(‘frm_pdfs_css’, ‘custom_font_pdfs_css_entry’ ,10, 2); function custom_font_pdfs_css_entry( $css, $args ) { if ( empty( $args[‘id’] ) ) { // Check for entry ID. return $css; } if ( is_secondary_language_view( $args[‘id’] ) ) { return $css; } $custom_css = ‘body { font-family:…Continue reading

Change password icons

add_filter(‘frm_pro_show_password_icons’, ‘change_password_icons’); function change_password_icons( $icons ) { $icons[‘show’] = ‘new show icon’; $icons[‘hide’] = ‘new hide icon’; return $icons; }Continue reading

Wrap email confirmation input

add_filter(‘frm_conf_input_backend’, ‘wrap_email_conf_input’, 10, 2); function wrap_email_conf_input( $input_html, $args ) { if ( ’email’ === $args[‘field’][‘type’] ) { $input_html = ‘<span>’ . $input_html . ‘</span>’; } return $input_html; }Continue reading

Save geolocation coordinates from address field

add_filter(‘frm_validate_field_entry’, ‘store_address_coordinates’, 10, 3); function store_address_coordinates($errors, $posted_field, $posted_value){ $fields = array( 31014, 31015); //Change 31014 and 31015 to IDs of the hidden fields where the longitude and latitude coordinates should be stored. if ( in_array( $posted_field->id, $fields ) ) {…Continue reading