Setelah menambahkan dan menampilkan custom field di halaman profil pengguna, langkah selanjutnya yang sangat penting adalah memastikan bahwa administrator atau pengguna dapat mengedit informasi tersebut langsung dari halaman profil mereka.
WordPress menyediakan cara mudah untuk menyimpan perubahan kolom khusus yang diubah melalui halaman profil melalui hook khusus.
Artikel Ini akan membahas bagaimana pengguna dapat mengubah kolom khusus di halaman profil mereka, apa yang harus dilakukan untuk menyimpan perubahan tersebut, dan keuntungan dari fitur ini untuk mengelola situs WordPress.
Dengan memberikan pengguna kemampuan untuk mengedit informasi seperti "Nama Depan", "Nama Belakang", atau "Nomor Telepon" langsung dari halaman profil mereka, ada banyak keuntungan:
Baca Juga : 10 Cara Mendapatkan User ID Pada WordPress
Kita akan menggunakan hook personal_options_update
dan edit_user_profile_update
ketika pengguna atau administrator memperbarui profil, sehingga kamu dapat menyimpan perubahan custom field ke database.
Ini akan digunakan untuk memungkinkan pengguna mengedit custom field di halaman profil mereka. Sebagai contoh, kita akan membiarkan pengguna mengubah kolom "Nama Depan", "Nama Belakang", dan "Nomor Telepon" secara khusus.
Berikut adalah contoh kode untuk menangani penyimpanan perubahan :
current_user_can( 'edit_user', $user_id )
: Fungsi ini digunakan untuk memeriksa apakah pengguna yang sedang masuk memiliki izin untuk mengedit profil pengguna tertentu. Jika pengguna tidak memiliki hak yang diperlukan, fungsi false
akan menghentikan eksekusi kode.sanitize_text_field( $_POST['first_name'] )
: Fungsi ini memastikan bahwa data yang diinput aman sebelum disimpan ke database. Ini menghapus karakter yang tidak diinginkan, seperti tag HTML, dari input teks.update_user_meta()
: Fungsi ini digunakan untuk menyimpan atau memperbarui data custom field ke dalam tabel usermeta
di database WordPress. Setiap perubahan pada "Nama Depan", "Nama Belakang", atau "Nomor Telepon" akan disimpan menggunakan kunci metadata yang sesuai.Setelah profil pengguna diubah, sistem WordPress akan secara otomatis memanggil hook personal_options_update
atau edit_user_profile_update
, tergantung pada pengguna. Hook ini memproses informasi dari form dan menyimpannya kembali ke dalam database.
Pastikan bahwa form profil sudah mencakup input custom field yang kamu tambahkan, sebelumnya, kita telah menambahkan custom field ke halaman profil menggunakan hook show_user_profile
dan edit_user_profile
.
Kombinasi kedua langkah ini akan memastikan proses edit dan penyimpanan custom field berjalan lancar.
Baca Juga : Debugging Query Database WordPress
Administrator situs WordPress sering kali harus mengubah profil pengguna lain, Saat mereka harus memperbarui informasi penting untuk operasi situs.
Administrator yang memiliki izin edit_user
juga dapat menggunakan dashboard admin untuk mengedit field khusus untuk pengguna lain dengan kode yang sudah ditambahkan di atas.
Contoh kasus ini akan membantu ketika administrator perlu memperbarui informasi kontak, profil, atau data lain yang relevan untuk keperluan internal situs.
sanitize_text_field()
membantu menjaga keamanan situs dari potensi serangan injeksi atau data tidak valid.Kamu juga dapat menambahkan pesan sukses setelah pengguna memperbarui profil mereka untuk meningkatkan pengalaman pengguna.
Misalnya, Kamu dapat menggunakan filter user_profile_update_errors
untuk menampilkan pesan tertentu setelah profil diperbarui dengan sukses. Ini memberikan bukti visual bahwa perubahan telah disimpan dengan sukses.
Fitur penting untuk meningkatkan fleksibilitas dan kontrol dalam mengelola data pengguna adalah kemampuan pengguna atau administrator untuk mengedit kolom khusus melalui halaman profil pengguna WordPress.
Dengan menggunakan hook personal_options_update
dan edit_user_profile_update
, serta fungsi update_user_meta()
, Kamu dapat memastikan bahwa setiap perubahan kolom khusus disimpan dengan aman di database.
Ini meningkatkan produktivitas dan memberikan pengalaman pengelolaan profil yang lebih baik bagi pengguna.
Referensi :