Setelah menambahkan custom field dan validasi input pada formulir pendaftaran pengguna WordPress, langkah selanjutnya yang sangat penting adalah menyimpan data yang dimasukkan ke dalam database.
WordPress menawarkan metode yang fleksibel untuk menyimpan data tambahan melalui tabel user meta, yang memungkinkan kamu menyimpan informasi khusus tentang setiap pengguna.
Artikel ini akan menjelaskan cara menyimpan kolom khusus ke dalam database WordPress saat pengguna mendaftar dan menjelaskan bagaimana sistem WordPress mengelola data pengguna.
Daftar pengguna khusus digunakan untuk mengumpulkan informasi tambahan yang tidak termasuk dalam daftar standar WordPress, seperti nama depan, alamat, atau nomor telepon. Informasi ini sangat berguna untuk personalisasi, manajemen pengguna yang lebih baik, atau integrasi dengan layanan lain.
Dengan menyimpan informasi ini di database, Kamu dapat mengakses dan menggunakannya di berbagai bagian situs WordPress, seperti halaman profil pengguna atau halaman profil pengguna.
Baca Juga : 10 Cara Mendapatkan User ID Pada WordPress
user_register
Hook user_register
dapat digunakan untuk menyimpan data field custom ke database saat pengguna baru mendaftar.
Setelah pengguna mendaftar, WordPress secara otomatis memanggil hook ini. Ini adalah situasi di mana kita dapat menggunakan fungsi update_user_meta()
untuk menyimpan data ke tabel usermeta.
Sebagai contoh, kita akan menyimpan data dari kolom pengguna yang disesuaikan "Nama Depan" ke dalam database. Contoh kodenya dapat ditemukan di sini:
add_action( 'user_register', 'simpan_custom_field', 10, 1 );
function simpan_custom_field( $user_id ) {
// Cek apakah field 'first_name' telah diisi
if ( isset( $_POST['first_name'] ) ) {
// Simpan data 'first_name' ke tabel usermeta
update_user_meta( $user_id, 'first_name', $_POST['first_name'] );
}
}
add_action( 'user_register', 'simpan_custom_field', 10, 1 )
: Di sini kita menggunakan hook user_register
yang dipanggil setelah pengguna berhasil mendaftar. Fungsi simpan_custom_field
akan dijalankan dengan mengambil user ID pengguna baru sebagai argumen.if ( isset( $_POST['first_name'] ) )
: Kondisi ini memeriksa apakah field "Nama Depan" (first_name
) diisi pada form pendaftaran. Jika field tersebut ada, proses penyimpanan akan dilakukan.update_user_meta( $user_id, 'first_name', $_POST['first_name'] )
: Fungsi ini digunakan untuk menyimpan atau memperbarui nilai meta pengguna ke dalam tabel usermeta
di database. Nilai ini disimpan dengan kunci 'first_name', yang nantinya bisa diakses di berbagai tempat dalam situs WordPress.usermeta
?Tabel usermeta WordPress dirancang khusus untuk menyimpan informasi pengguna tambahan. Ini adalah alat yang efektif untuk menyimpan data pengguna yang tidak termasuk dalam kolom standar, seperti nama pengguna atau email.
Menggunakan tabel usermeta memungkinkan kamu menambah atau mengubah informasi ini kapan saja tanpa mengubah struktur database inti WordPress.
Dengan menyimpan custom field di usermeta
, kamu dapat:
usermeta
dapat diakses menggunakan fungsi WordPress seperti get_user_meta()
. Ini memudahkan kamu untuk menampilkan data di halaman profil pengguna atau di bagian lain situs kamu.update_user_meta()
atau menghapus data dengan delete_user_meta()
kapan saja jika diperlukan.Baca Juga : Membuat Tautan Kustom untuk Halaman Profil Pengguna di WordPress
Selain itu, Kamu dapat menyimpan lebih dari satu custom field sekaligus. Misalnya, jika kamu menambahkan "Nama Belakang" (last_name) dan "Nomor Telepon" (phone_number), kode yang digunakan untuk menyimpan semua field ini akan terlihat seperti ini:
add_action( 'user_register', 'simpan_banyak_custom_field', 10, 1 );
function simpan_banyak_custom_field( $user_id ) {
// Simpan Nama Depan
if ( isset( $_POST['first_name'] ) ) {
update_user_meta( $user_id, 'first_name', $_POST['first_name'] );
}
// Simpan Nama Belakang
if ( isset( $_POST['last_name'] ) ) {
update_user_meta( $user_id, 'last_name', $_POST['last_name'] );
}
// Simpan Nomor Telepon
if ( isset( $_POST['phone_number'] ) ) {
update_user_meta( $user_id, 'phone_number', $_POST['phone_number'] );
}
}
Kode ini akan membuat ketiga kolom - "Nama Depan", "Nama Belakang", dan "Nomor Telepon" - disimpan secara terpisah dalam usermeta. Dengan demikian, masing-masing kolom dapat diakses atau diperbarui secara terpisah.
Dengan menggunakan fungsi get_user_meta()
, Kamu dapat mengakses data setelah disimpan. Untuk contoh, Kamu dapat menggunakan kode berikut untuk menampilkan "Nama Depan" pengguna:
$first_name = get_user_meta( $user_id, 'first_name', true );
echo 'Nama Depan: ' . esc_html( $first_name );
Kode ini menampilkan nilai "first_name
" dari metadata pengguna di halaman web. Data yang ditampilkan aman dari injeksi HTML atau JavaScript dengan menggunakan fungsi esc_html()
.
Langkah penting untuk mengelola data pengguna yang lebih rinci adalah menyimpan data field custom ke dalam database saat pendaftaran pengguna di WordPress.
Kamu dapat dengan mudah menyimpan data ini ke dalam tabel usermeta, yang dirancang untuk menangani metadata pengguna, dengan menggunakan hook user_register
dan fungsi update_user_meta(
).
Langkah ini memastikan bahwa informasi dapat diakses, diperbarui, dan digunakan dengan mudah di seluruh situs web.
Referensi :