Menambahkan Custom Field Form Pendaftaran WordPress

Admin Fiafini
22 October 2024
Fiafini Menambahkan Custom Field Form

Menambahkan custom field pada form pendaftaran pengguna di WordPress dapat meningkatkan interaksi dan personalisasi pengguna. Berikut adalah langkah-langkah untuk melakukannya :

Menambahkan Field pada Form Pendaftaran

Dengan hook register_form, Kamu dapat menambahkan kolom input tambahan ke form pendaftaran WordPress standar. Hook ini memungkinkan Kamu mengubah form sebelum ditampilkan kepada pengguna. Kode berikut digunakan untuk menambahkan field "Nama Depan" :

function tambahan_field_registrasi() {
    ?>
    <p>
        <label for="first_name"><?php _e('Nama Depan', 'domain'); ?></label>
        <input type="text" name="first_name" id="first_name" class="input" value="" size="25" />
    </p>
    <?php
}
add_action( 'register_form', 'tambahan_field_registrasi' );

Dalam formulir pendaftaran, kode di atas akan menambahkan field input bernama "first_name", lengkap dengan label "Nama Depan".

Baca Juga : 10 Cara Mendapatkan User ID Pada WordPress

Validasi Input Field

Kamu harus menambahkan validasi untuk memastikan bahwa pengguna mengisi field "Nama Depan" dengan benar. Ini dapat dicapai dengan menggunakan filter error registrasi. Filter ini memungkinkan kamu untuk memeriksa dan mengubah kesalahan registrasi sebelum pengguna terdaftar.

Ini adalah contoh kode validasi :

function validasi_input_registrasi( $errors, $sanitized_user_login, $user_email ) {
    if ( empty( $_POST['first_name'] ) || ! empty( $_POST['first_name'] ) && trim( $_POST['first_name'] ) == '' ) {
        $errors->add( 'first_name_error', __( '<strong>ERROR</strong>: Nama Depan wajib diisi.', 'domain' ) );
    }
    return $errors;
}
add_filter( 'registration_errors', 'validasi_input_registrasi', 10, 3 );

Dengan menggunakan kode ini, sistem akan menampilkan pesan error yang menyatakan bahwa "Nama Depan" harus diisi jika pengguna tidak memasukkan spasi kosong di kolom "Nama Depan".

Baca Juga : Panduan Praktis Mendapatkan ID Pengguna WordPress

Menyimpan Data ke Database

Setelah validasi, data "Nama Depan" pengguna disimpan ke dalam database. Hook user_register dipanggil segera setelah pengguna terdaftar. Berikut adalah contoh kode yang digunakan untuk menyimpan data :

function simpan_custom_field( $user_id ) {
    if ( isset( $_POST['first_name'] ) )
        update_user_meta( $user_id, 'first_name', $_POST['first_name'] );
}
add_action( 'user_register', 'simpan_custom_field', 10, 1 );

Nilai "first_name" yang dimasukkan pengguna ke dalam metadata pengguna dengan user ID yang relevan akan disimpan dengan kode ini.

Menampilkan Field di Halaman Profil Pengguna

Kamu dapat menggunakan hook show_user_profile atau edit_user_profile untuk menampilkan "Nama Depan" di halaman profil pengguna. Hook - hook ini memungkinkan Kamu menambahkan field tambahan pada halaman profil pengguna di dashboard WordPress.

Berikut adalah contoh kode untuk menampilkan field :

function tampilkan_custom_field( $user ) {
    ?>
    <h3><?php _e('Informasi Tambahan', 'domain'); ?></h3>
    <table class="form-table">
        <tr>
            <th><label for="first_name"><?php _e('Nama Depan', 'domain'); ?></label></th>
            <td>
                <input type="text" name="first_name" id="first_name"
value="<?php echo esc_attr( get_the_author_meta( 'first_name', $user->ID ) );
?>"class="regular-text" />
            </td>
        </tr>
    </table>
    <?php
}
add_action( 'show_user_profile', 'tampilkan_custom_field' );
add_action( 'edit_user_profile', 'tampilkan_custom_field' );

Kode ini menampilkan kolom "Nama Depan" di halaman profil pengguna, memungkinkan pengguna melihat dan mengedit informasi tersebut.

Mengedit Field di Profil Pengguna

Jika Kamu ingin memungkinkan pengguna mengedit "Nama Depan" di halaman profil mereka, Kamu harus menambahkan fungsi untuk menyimpan perubahan tersebut.

Untuk menangani pembaruan data pengguna, Kamu dapat menggunakan hook personal_options_update dan edit_user_profile_update. Berikut adalah contoh kode untuk menyimpan perubahan :

function simpan_perubahan_profil( $user_id ) {
    if ( !current_user_can( 'edit_user', $user_id ) ) {
        return false;
    }
    update_user_meta( $user_id, 'first_name', $_POST['first_name'] );
}
add_action( 'personal_options_update', 'simpan_perubahan_profil' );
add_action( 'edit_user_profile_update', 'simpan_perubahan_profil' );

Ketika pengguna memperbarui profil mereka dengan kode ini, perubahan pada field "Nama Depan" akan disimpan ke dalam database.

Dengan mengikuti prosedur di atas, Kamu dapat menambahkan custom field "Nama Depan" ke formulir pendaftaran pengguna WordPress dan memastikan bahwa data dapat divalidasi, disimpan, ditampilkan, dan diedit sesuai kebutuhan.

Itulah artikel tentang Menambahkan Custom Field Form Pendaftaran WordPress, bila ada masukan atau saran yang membantu jangan ragu untuk meninggalkan komentar, Terima Kasih.

Referensi

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram