Cara Membuat Nomor Pendaftaran Otomatis di FluentForm

Salah satu member group WordPress Indonesia ini ada yang bertanya; bagaimana cara menambahkan nomor pendaftaran di form WordPress.

Teman-teman yang komen memberikan masukan untuk “custom saja”.

Di contoh ini saya akan menggunakan FluentForm. Mengapa? Plugin FF yang versi gratis sudah ada fitur listing submission atau rekam hasil form yang bisa dilihat di dashboard.

Selain itu, plugin ini sangat ramah bagi developer. Sangat mudah dioprek.

Nah, seperti apa bentuk customnya? Simak tutorial ini ya..

1. Buat Form pendaftaran. Tambahkan *Hidden Field* dengan Name Attribute “form_pendaftaran”. Contoh bisa dilihat di gambar.

2. Install skrip plugin di link di bawah. Lalu aktifkan.

3. Berikut hasil pengiriman form

Penjelasan Kode

Saya coba membuat contoh sesimpel mungkin. Data nomor terakhir pendaftaran saya simpan di tabel wp_options. Nomor pendaftaran juga saya ubah menjadi format *FP-00xx*, agar nomor pendaftaran lebih menarik.

Nah, lebih menarik lagi jika hasil form tersebut langsung terkirim ke nomor WhatsApp visitor dan Admin. Pengirim jadi tenang dan yakin form pendaftarannya sudah tersimpan.

Admin juga bisa cepat merespon dengan adanya notifikasi WhatsApp ke devicenya.

Emang bisa kirim hasil form ke WhatsApp?

Bisa dong, pakai OneSender. OneSender memiliki plugin integrasi ke FluentForm. Bahkan tidak cuma fluent form. CalderaForm, JetForm, gravity form hingga Elementor From. Menarik bukan?

Lebih menarik lagi, hari ini sampai malam takbiran, Ada penawaran spesial; LISENSI LIFETIME. Benar? lisensi lifetime tanpa perpanjangan tahunan. Cuma untuk 5 nomor saja ya.

Langsung aja go ke https://onesender.net/ramadhan/

Kode Plugin

<?php
/**
 * Plugin Name:     Form Pendaftaran
 * Plugin URI:      https://onesender.net
 * Description:     Form Pendaftaran
 * Author:          M Ali
 * Author URI:      https://onesender.net
 * Text Domain:     form-pendaftaran
 * Domain Path:     /languages
 * Version:         1.0.0
 */


add_filter('fluentform_filter_insert_data', 'hook_form_pendaftaran', 10, 1);

function hook_form_pendaftaran( $form )
{
    $form_id = intval($form['form_id'] ?? 0); // 1

    /* Ganti nomor 1 dengan nomor form yang digunakan */
    if ( 1 !== $form_id ) {
        return $form;
    }

    /* Buat data penyimpanan nomor terakhir */
    $nomor_pendaftaran = (int) get_option( '_nomor_akhir_form_pendaftaran', 0 );
    $nomor_pendaftaran++;   // 123
    update_option( '_nomor_akhir_form_pendaftaran', $nomor_pendaftaran );

    /* Ubah format nomor pendaftaran */
    $kode_nomor_pendaftaran = '000' . $nomor_pendaftaran; // 000123
    $kode_nomor_pendaftaran = 'FP-' . substr( $kode_nomor_pendaftaran, -4 ); // FP-0123

    /* Ubah data form yang dikirim visitor */
    $submission = json_decode( $form['response'], true );
    $submission['nomor_pendaftaran'] = $kode_nomor_pendaftaran;

    /* Simpan data baru agar permanen */
    $form['response'] = json_encode( $submission );

    return $form;
}

Tinggalkan komentar