Mengapa Data Pengguna di WordPress Bisa Menjadi Mimpi Buruk

Setiap situs web yang kami buat memiliki serangkaian tantangannya sendiri. Tetapi alat yang kami gunakan dapat membantu kami menanganinya secara langsung.

WordPress dan ekosistem pluginnya yang tidak pernah berakhir telah membantu desainer web menguasai bahkan persyaratan klien terberat sekalipun. Hampir semua yang kita butuhkan hanyalah klik dan pergi. Dan jika tidak ada, kita bisa membangunnya sendiri.

Tetapi untuk setiap solusi yang kita ambil, ada konsekuensi potensial. Salah satu yang hanya tumbuh saat kami menggali lebih dalam ke data khusus pengguna. Baru kemudian kita menyadari kekacauan di bawah cangkang cantik itu.

Awal yang sederhana

Dalam instalasi WordPress default, data pengguna (setidaknya jenis yang ingin Anda ekspor) sebenarnya cukup bersih dan rapi. Data disimpan dalam tabel database wp_usermeta. Di dalam, Anda akan menemukan dasar-dasar seperti nama pengguna, bersama dengan peran/kemampuan dan preferensi akun mereka.

Gabungkan ini dengan apa yang ada di tabel wp_users (nama pengguna, alamat email, kata sandi) dan Anda bisa mendapatkan banyak informasi berguna untuk setiap pengguna di situs Anda. Selain itu, Anda dapat dengan mudah mengimpor daftar CSV pengguna baru jika diperlukan.

Tentu saja, sebagian besar situs web tidak berhenti pada pengaturan default. Sebagai gantinya, kami biasanya menambahkan sejumlah plugin sehingga pengguna dapat melakukan lebih banyak hal dengan situs kami.

Kami ingin mereka melakukan hal-hal seperti memiliki informasi profil, melacak pesanan, dan menjadi bagian dari grup tertentu. Selanjutnya, fitur seperti forum, portal pendukung, dan sistem manajemen pembelajaran juga banyak digunakan saat ini.

Dan itu hanya menggores permukaan. Ada banyak lagi yang dapat ditambahkan ke situs WordPress biasa. Tidak apa-apa, sampai Anda harus mencoba dan mendiskusikan datanya.

Data, data, di mana-mana

Masalah yang dimaksud bukanlah kesalahan dari WordPress itu sendiri. Dalam banyak kasus, di situlah bagian data tertentu disimpan untuk pengembang plug-in. Itu dapat menyebabkan data pengguna yang ingin Anda kumpulkan disimpan di mana-mana. Ini adalah sifat hewan.

Mari kita gunakan situs web terbaru yang saya kerjakan sebagai contoh. Ini menggunakan plugin keanggotaan, yang memungkinkan siapa saja untuk bergabung dengan organisasi klien.

Informasi yang Dikumpulkan

Saat mereka mendaftar, kami meminta lebih dari sekadar metadata pengguna WordPress standar. Anggota baru diperlukan informasi seperti:

  • Alamat pengiriman;
  • Nomor telepon;
  • Preferensi Anda tentang cara mereka menerima buletin (email atau surat pos);

Data dihasilkan

Selain informasi yang kami minta kepada pengguna untuk diberikan, ada banyak data yang dihasilkan oleh plugin keanggotaan, termasuk:

  • Status keanggotaan (aktif atau tidak aktif);
  • tingkat keanggotaan;
  • tanggal kedaluwarsa keanggotaan;

Tidak ada di atas tentang pengaturan. Ini mungkin tidak jauh berbeda dari puluhan ribu situs lain yang menjalankan kumpulan keanggotaan yang sama.

Meskipun situsnya tidak terlalu rumit, bukan berarti data pengguna Anda mudah ditemukan. Mari kita lihat bagaimana tugas sederhana bisa menjadi tantangan yang memakan waktu.

kode HTML di layar.

Tantangan

Pelanggan memiliki kebutuhan yang sangat mendasar. Mereka ingin mengekspor dari semua anggota aktif yang menginginkan cetakan buletin organisasi dikirimkan kepada mereka. Berdasarkan apa yang kita miliki, ini hanya membutuhkan beberapa menit untuk berimprovisasi. Itu sejauh ini.

Ini jauh lebih sulit dari yang saya bayangkan. Data yang kita butuhkan sudah ada di database. Tetapi mencoba membangunnya kembali ternyata menjadi tugas yang hampir epik bagi seseorang yang bukan ahli kueri basis data.

Namun, itu sebabnya kami memiliki plugin, bukan? Dan ada banyak sekali pilihan, baik gratis maupun premium. Tapi, tidak peduli apa yang saya coba, saya tidak bisa mendapatkan apa yang dibutuhkan ekspor. Inilah alasannya:

  • itu data pribadi yang kami minta kepada anggota untuk diberikan Kita cukup mudah untuk mendapatkannya. Itu ada di tabel wp_usermeta, tempat pengguna biasanya mengekspor plugin. Oleh karena itu, membuat daftar pengguna yang menginginkan salinan buletin untuk dicetak cukup sederhana.
  • itu data terkait anggota lainnyaNamun, itu disimpan di tabel lain yang unik untuk plugin keanggotaan. Bahkan plugin perdagangan yang cukup kuat yang saya gunakan tidak dapat membantu saya di sini.

Akibatnya saya dapat mengetahui siapa yang meminta versi pos buletin, tetapi saya tidak dapat mengetahui apakah keanggotaan mereka aktif, yang tidak terlalu membantu.

Tentu, informasi itu disimpan dalam tabel yang berdekatan di database yang sama, tetapi bisa juga di Jupiter untuk tujuan saya. Rasanya seperti mencari kunci di rumah, hanya untuk mengetahui bahwa tetangga Anda memilikinya untuk mencari penyelamatan.

Akhirnya, saya menemukan plugin ekspor, yang menyertakan plugin untuk plugin keanggotaan, yang dapat membantu saya mengumpulkan data yang saya butuhkan. Jika itu tidak ada, Anda masih akan terjebak dengan hanya setengah dari solusi.

Orang-orang melihat spreadsheet di laptop.

Bisakah pengalaman itu ditingkatkan?

Semua ini membuat saya bertanya-tanya bagaimana situasi ini dapat ditingkatkan atau dihindari. Itu adalah keputusan yang sulit.

Pertama, saya akui bahwa tantangan semacam ini bukanlah kekuatan saya. Seseorang dengan banyak pengalaman PHP dan MySQL dapat menemukan solusi khusus. SAYA? Saya pergi untuk menguji plugin dan merengek ketika mereka tidak berfungsi seperti yang diharapkan.

Tapi satu pertanyaan yang layak ditanyakan adalah: Di mana pengalaman seperti itu diperlukan untuk mengekspor satu set lengkap data pengguna? Sepertinya harus ada cara yang lebih mudah untuk membuatnya bekerja.

Fakta bahwa WordPress mengizinkan plugin untuk membuat tabel database mereka sendiri dapat dimengerti dan bahkan bermanfaat. Ini memastikan bahwa kita dapat menginstal dan menghapus plugin tanpa takut mengacaukan sesuatu.

Namun, sementara semua ini bekerja dengan mata telanjang, itu bukan apa-apa selain kita yang mencoba mengakses data dasar.

Mungkin harus ada API yang memungkinkan kita mendapatkan segala sesuatu yang berhubungan dengan pengguna tertentu, di mana pun itu disimpan dalam database. Tapi saya akan meninggalkan diskusi itu untuk mereka yang mengetahui pro dan kontra dari fitur semacam itu.

Sampai saat itu, saya akan terus menyatukannya karena pelanggan membutuhkannya, semoga prosesnya lebih bersih di masa depan.

Pos terkait

Back to top button