includes(); add_action( 'wpforms_form_settings_notifications', [ $this, 'form_settings_notifications' ], 8, 1 ); add_action( 'wpforms_form_settings_confirmations', [ $this, 'form_settings_confirmations' ] ); add_action( 'wpforms_builder_enqueues_before', [ $this, 'builder_enqueues' ] ); add_action( 'wpforms_admin_page', [ $this, 'entries_page' ] ); add_action( 'wpforms_admin_settings_after', [ $this, 'settings_cta' ] ); add_action( 'wp_ajax_wpforms_lite_settings_upgrade', [ $this, 'settings_cta_dismiss' ] ); add_action( 'admin_enqueue_scripts', [ $this, 'admin_enqueues' ] ); add_filter( 'wpforms_helpers_templates_get_theme_template_paths', [ $this, 'add_templates' ] ); // Entries count logging for WPForms Lite. add_action( 'wpforms_process_entry_save', [ $this, 'update_entry_count' ], 10, 3 ); } /** * Include files. * * @since 1.0.0 */ private function includes() { } /** * Form notification settings, supports multiple notifications. * * @since 1.2.3 * * @param object $settings */ public function form_settings_notifications( $settings ) { $cc = wpforms_setting( 'email-carbon-copy', false ); $from_name_after = apply_filters( 'wpforms_builder_notifications_from_name_after', '' ); $from_email_after = apply_filters( 'wpforms_builder_notifications_from_email_after', '' ); // Handle backwards compatibility. if ( empty( $settings->form_data['settings']['notifications'] ) ) { /* translators: %s - form name. */ $settings->form_data['settings']['notifications'][1]['subject'] = ! empty( $settings->form_data['settings']['notification_subject'] ) ? $settings->form_data['settings']['notification_subject'] : sprintf( esc_html__( 'New %s Entry', 'wpforms-lite' ), $settings->form->post_title ); $settings->form_data['settings']['notifications'][1]['email'] = ! empty( $settings->form_data['settings']['notification_email'] ) ? $settings->form_data['settings']['notification_email'] : '{admin_email}'; $settings->form_data['settings']['notifications'][1]['sender_name'] = ! empty( $settings->form_data['settings']['notification_fromname'] ) ? $settings->form_data['settings']['notification_fromname'] : get_bloginfo( 'name' ); $settings->form_data['settings']['notifications'][1]['sender_address'] = ! empty( $settings->form_data['settings']['notification_fromaddress'] ) ? $settings->form_data['settings']['notification_fromaddress'] : '{admin_email}'; $settings->form_data['settings']['notifications'][1]['replyto'] = ! empty( $settings->form_data['settings']['notification_replyto'] ) ? $settings->form_data['settings']['notification_replyto'] : ''; } $id = 1; echo '
'; echo ''; esc_html_e( 'Notifications', 'wpforms-lite' ); echo ''; echo ''; echo '
'; $dismissed = get_user_meta( get_current_user_id(), 'wpforms_dismissed', true ); if ( empty( $dismissed['edu-builder-notifications-description'] ) ) { echo '
'; echo ''; echo '

'; printf( wp_kses( /* translators: %s - Link to the WPForms.com doc article. */ __( 'Notifications are emails sent when a form is submitted. By default, these emails include entry details. For setup and customization options, including a video overview, please see our tutorial.', 'wpforms-lite' ), [ 'a' => [ 'href' => [], 'rel' => [], 'target' => [], ], ] ), 'https://wpforms.com/docs/setup-form-notification-wpforms/' ); echo '

'; echo '

'; printf( wp_kses( /* translators: 1$s, %2$s - Links to the WPForms.com doc articles. */ __( 'After saving these settings, be sure to test a form submission. This lets you see how emails will look, and to ensure that
they are delivered successfully.', 'wpforms-lite' ), [ 'a' => [ 'href' => [], 'rel' => [], 'target' => [], ], 'br' => [], ] ), 'https://wpforms.com/docs/how-to-properly-test-your-wordpress-forms-before-launching-checklist/', 'https://wpforms.com/docs/troubleshooting-email-notifications/' ); echo '

'; echo '
'; } wpforms_panel_field( 'toggle', 'settings', 'notification_enable', $settings->form_data, esc_html__( 'Enable Notifications', 'wpforms-lite' ) ); ?>
form_data, esc_html__( 'Send To Email Address', 'wpforms-lite' ), [ 'default' => '{admin_email}', 'tooltip' => esc_html__( 'Enter the email address to receive form entry notifications. For multiple notifications, separate email addresses with a comma.', 'wpforms-lite' ), 'smarttags' => [ 'type' => 'fields', 'fields' => 'email', ], 'parent' => 'settings', 'subsection' => $id, 'class' => 'email-recipient', ] ); if ( $cc ) : wpforms_panel_field( 'text', 'notifications', 'carboncopy', $settings->form_data, esc_html__( 'CC', 'wpforms-lite' ), [ 'smarttags' => [ 'type' => 'fields', 'fields' => 'email', ], 'parent' => 'settings', 'subsection' => $id, ] ); endif; wpforms_panel_field( 'text', 'notifications', 'subject', $settings->form_data, esc_html__( 'Email Subject Line', 'wpforms-lite' ), [ /* translators: %s - form name. */ 'default' => sprintf( esc_html__( 'New Entry: %s', 'wpforms-lite' ), $settings->form->post_title ), 'smarttags' => [ 'type' => 'all', ], 'parent' => 'settings', 'subsection' => $id, ] ); wpforms_panel_field( 'text', 'notifications', 'sender_name', $settings->form_data, esc_html__( 'From Name', 'wpforms-lite' ), [ 'default' => sanitize_text_field( get_option( 'blogname' ) ), 'smarttags' => [ 'type' => 'fields', 'fields' => 'name,text', ], 'parent' => 'settings', 'subsection' => $id, 'readonly' => ! empty( $from_name_after ), 'after' => ! empty( $from_name_after ) ? '

' . $from_name_after . '

' : '', ] ); wpforms_panel_field( 'text', 'notifications', 'sender_address', $settings->form_data, esc_html__( 'From Email', 'wpforms-lite' ), [ 'default' => '{admin_email}', 'smarttags' => [ 'type' => 'fields', 'fields' => 'email', ], 'parent' => 'settings', 'subsection' => $id, 'readonly' => ! empty( $from_email_after ), 'after' => ! empty( $from_email_after ) ? '

' . $from_email_after . '

' : '', ] ); wpforms_panel_field( 'text', 'notifications', 'replyto', $settings->form_data, esc_html__( 'Reply-To Email Address', 'wpforms-lite' ), [ 'smarttags' => [ 'type' => 'fields', 'fields' => 'email', ], 'parent' => 'settings', 'subsection' => $id, ] ); wpforms_panel_field( 'textarea', 'notifications', 'message', $settings->form_data, esc_html__( 'Email Message', 'wpforms-lite' ), [ 'rows' => 6, 'default' => '{all_fields}', 'smarttags' => [ 'type' => 'all', ], 'parent' => 'settings', 'subsection' => $id, 'class' => 'email-msg', 'after' => '

' . sprintf( /* translators: %s - {all_fields} Smart Tag. */ esc_html__( 'To display all form fields, use the %s Smart Tag.', 'wpforms-lite' ), '{all_fields}' ) . '

', ] ); ?>
form_data['settings']['confirmations'] ) ) { $settings->form_data['settings']['confirmations'][1]['type'] = ! empty( $settings->form_data['settings']['confirmation_type'] ) ? $settings->form_data['settings']['confirmation_type'] : 'message'; $settings->form_data['settings']['confirmations'][1]['message'] = ! empty( $settings->form_data['settings']['confirmation_message'] ) ? $settings->form_data['settings']['confirmation_message'] : esc_html__( 'Thanks for contacting us! We will be in touch with you shortly.', 'wpforms-lite' ); $settings->form_data['settings']['confirmations'][1]['message_scroll'] = ! empty( $settings->form_data['settings']['confirmation_message_scroll'] ) ? $settings->form_data['settings']['confirmation_message_scroll'] : 1; $settings->form_data['settings']['confirmations'][1]['page'] = ! empty( $settings->form_data['settings']['confirmation_page'] ) ? $settings->form_data['settings']['confirmation_page'] : ''; $settings->form_data['settings']['confirmations'][1]['redirect'] = ! empty( $settings->form_data['settings']['confirmation_redirect'] ) ? $settings->form_data['settings']['confirmation_redirect'] : ''; } $field_id = 1; echo '
'; esc_html_e( 'Confirmations', 'wpforms-lite' ); echo ''; echo '
'; ?>
form_data, esc_html__( 'Confirmation Type', 'wpforms-lite' ), [ 'default' => 'message', 'options' => [ 'message' => esc_html__( 'Message', 'wpforms-lite' ), 'page' => esc_html__( 'Show Page', 'wpforms-lite' ), 'redirect' => esc_html__( 'Go to URL (Redirect)', 'wpforms-lite' ), ], 'class' => 'wpforms-panel-field-confirmations-type-wrap', 'input_class' => 'wpforms-panel-field-confirmations-type', 'parent' => 'settings', 'subsection' => $field_id, ] ); wpforms_panel_field( 'textarea', 'confirmations', 'message', $settings->form_data, esc_html__( 'Confirmation Message', 'wpforms-lite' ), [ 'default' => esc_html__( 'Thanks for contacting us! We will be in touch with you shortly.', 'wpforms-lite' ), 'tinymce' => [ 'editor_height' => '200', ], 'input_id' => 'wpforms-panel-field-confirmations-message-' . $field_id, 'input_class' => 'wpforms-panel-field-confirmations-message', 'parent' => 'settings', 'subsection' => $field_id, 'class' => 'wpforms-panel-field-tinymce', 'smarttags' => [ 'type' => 'all', ], ] ); wpforms_panel_field( 'toggle', 'confirmations', 'message_scroll', $settings->form_data, esc_html__( 'Automatically scroll to the confirmation message', 'wpforms-lite' ), [ 'input_class' => 'wpforms-panel-field-confirmations-message_scroll', 'parent' => 'settings', 'subsection' => $field_id, ] ); $p = []; $pages = get_pages(); foreach ( $pages as $page ) { $depth = count( $page->ancestors ); $p[ $page->ID ] = str_repeat( '-', $depth ) . ' ' . $page->post_title; } wpforms_panel_field( 'select', 'confirmations', 'page', $settings->form_data, esc_html__( 'Confirmation Page', 'wpforms-lite' ), [ 'options' => $p, 'input_class' => 'wpforms-panel-field-confirmations-page', 'parent' => 'settings', 'subsection' => $field_id, ] ); wpforms_panel_field( 'text', 'confirmations', 'redirect', $settings->form_data, esc_html__( 'Confirmation Redirect URL', 'wpforms-lite' ), [ 'input_class' => 'wpforms-panel-field-confirmations-redirect', 'parent' => 'settings', 'subsection' => $field_id, ] ); /** * Fires after each confirmation to add custom fields. * * @since 1.6.9 * * @param WPForms_Builder_Panel_Settings $settings Builder panel settings. * @param int $field_id Field ID. */ do_action( 'wpforms_lite_form_settings_confirmations_single_after', $settings, $field_id ); ?>
sprintf( wp_kses( /* translators: %s - WPForms.com docs page URL. */ __( 'You\'ve just turned off notification emails for this form. Since entries are not stored in WPForms Lite, notification emails are recommended for collecting entry details. For setup steps, please see our notification tutorial.', 'wpforms-lite' ), [ 'a' => [ 'href' => [], 'target' => [], 'rel' => [], ], ] ), 'https://wpforms.com/docs/setup-form-notification-wpforms/' ), ); $strings = apply_filters( 'wpforms_lite_builder_strings', $strings ); wp_localize_script( 'wpforms-builder-lite', 'wpforms_builder_lite', $strings ); } /** * Display upgrade notice at the bottom on the plugin settings pages. * * @since 1.4.7 * * @param string $view Current view inside the plugin settings page. */ public function settings_cta( $view ) { if ( get_option( 'wpforms_lite_settings_upgrade', false ) || apply_filters( 'wpforms_lite_settings_upgrade', false ) ) { return; } ?>

[ 'class' => [], 'aria-hidden' => [], ], ] ), str_repeat( '', 5 ) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ); ?>

Bonus: WPForms Lite users get 50% off regular price, automatically applied at checkout.', 'wpforms-lite' ), [ 'strong' => [], 'span' => [ 'class' => [], ], ] ); ?>

Entries



and start collecting entries!

10 items of 1

Name Email Comment or Message Date Actions
David Wells DavidMWells@example.com Vivamus sit amet dolor arcu. Praesent fermentum semper justo, nec scelerisq… July 27, 2017 View | Delete
Jennifer Selzer JenniferLSelzer@example.com Maecenas sollicitudin felis et justo elementum, et lobortis justo vulputate… July 27, 2017 View | Delete
Philip Norton PhilipTNorton@example.com Etiam cursus orci tellus, ut vehicula odio mattis sit amet. Curabitur eros … July 27, 2017 View | Delete
Kevin Gregory KevinJGregory@example.com Cras vel orci congue, tincidunt eros vitae, consectetur risus. Proin enim m… July 27, 2017 View | Delete
John Heiden JohnCHeiden@example.com Fusce consequat dui ut orci tempus cursus. Vivamus ut neque id ipsum tempor… July 27, 2017 View | Delete
Laura Shuler LauraDShuler@example.com In ac finibus erat. Curabitur sit amet ante nec tellus commodo commodo non … July 27, 2017 View | Delete
Walter Sullivan WalterPSullivan@example.com Phasellus semper magna leo, ut porta nibh pretium sed. Interdum et malesuad… July 27, 2017 View | Delete
Gary Austin GaryJAustin@example.com Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sit amet ero… July 27, 2017 View | Delete
Mark Frahm MarkTFrahm@example.com Proin euismod tellus quis tortor bibendum, a pulvinar libero fringilla. Cur… July 27, 2017 View | Delete
Linda Reynolds LindaJReynolds@example.com Cras sodales sagittis maximus. Nunc vestibulum orci quis orci pulvinar vulp… July 27, 2017 View | Delete
Name Email Comment or Message Date Actions
get( 'addons_page' )->enqueues()" ); wpforms()->get( 'addons_page' )->enqueues(); } /** * Addons page. * * @since 1.0.0 * @deprecated 1.6.7 */ public function addons_page() { _deprecated_function( __CLASS__ . '::' . __METHOD__, '1.6.7 of WPForms plugin', "wpforms()->get( 'addons_page' )->output()" ); if ( ! wpforms_is_admin_page( 'addons' ) ) { return; } wpforms()->get( 'addons_page' )->output(); } /** * Increase entries count once a form is submitted. * * @since 1.5.9 * * @param array $fields Set of form fields. * @param array $entry Entry contents. * @param int|string $form_id Form ID. */ public function update_entry_count( $fields, $entry, $form_id ) { global $wpdb; if ( ! apply_filters( 'wpforms_dash_widget_allow_entries_count_lite', true ) ) { return; } $form_id = absint( $form_id ); if ( empty( $form_id ) ) { return; } if ( add_post_meta( $form_id, 'wpforms_entries_count', 1, true ) ) { return; } // phpcs:ignore WordPress.DB.DirectDatabaseQuery.NoCaching $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->postmeta} SET meta_value = meta_value + 1 WHERE post_id = %d AND meta_key = 'wpforms_entries_count'", $form_id ) ); } /** * Add Lite-specific templates to the list of searchable template paths. * * @since 1.6.6 * * @param array $paths Paths to templates. * * @return array */ public function add_templates( $paths ) { $paths = (array) $paths; $paths[102] = trailingslashit( __DIR__ . '/templates' ); return $paths; } } new WPForms_Lite();