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

Show total of items at the end of a table view

add_filter( ‘frm_display_inner_content_before_add_wrapper’, ‘table_view_total_row’, 10, 3 ); function table_view_total_row( $inner_content, $view, $args ) { if ( ! empty( $args[‘is_table_view’] ) ) { $total_columns = count( $args[‘box_content’] ); $total_items = count( $args[‘record_count’] ); $inner_content .= ‘<tr><td colspan=”‘ . intval( $total_columns ) .…Continue reading

Add custom class for table view

add_filter( ‘frm_views_table_class’, ‘table_view_class’, 10, 2 ); function table_view_class( $table_class, $args ) { // Remove zebra styling. $table_class = str_replace( ‘frm-alt-table’, ”, $table_class ); // Add custom class. $table_class .= ‘ your-custom-class’; return $table_class; }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