Bagaimana cara menampilkan formulir pendaftaran pengguna WordPress (formulir yang muncul di halaman "www.mywebsite.com/wp-register.php") di ujung depan blog saya?
Saya telah menyesuaikan formulir pendaftaran. Tetapi tidak tahu bagaimana memanggil formulir itu di halaman ujung depan. Dukungan apa pun akan sangat membantu.
Terima kasih sebelumnya. :)
registration
forms
bueltge
sumber
sumber
Jawaban:
Prosesnya melibatkan 2 langkah:
Ada 3 pendekatan berbeda yang muncul di pikiran saya untuk menunjukkan frontend:
Untuk jawaban ini saya akan menggunakan yang terakhir. Alasannya adalah:
1: Bangun url
Kita semua tahu bahwa formulir pendaftaran default dari situs WordPress sering menjadi target bagi spammer. Menggunakan url khusus adalah bantuan untuk menyelesaikan masalah ini. Selain itu saya ingin juga menggunakan url variabel , yaitu bentuk pendaftaran url tidak harus selalu sama, ini membuat hidup spammer lebih sulit. Caranya dilakukan menggunakan nonce di url:
Menggunakan fungsi ini mudah ditampilkan di templat tautan ke formulir pendaftaran meskipun dinamis.
2: Kenali url, rintisan pertama dari
Custom_Reg\Custom_Reg
kelas pertamaSekarang kita perlu mengenali url. Untuk tujuan saya akan mulai menulis kelas, yang akan selesai nanti dalam jawabannya:
Fungsi melihat bagian pertama url setelahnya
home_url()
, dan jika cocok dengan awal kita, ia mengembalikan BENAR. fungsi ini akan digunakan untuk memeriksa permintaan kami dan melakukan tindakan yang diperlukan untuk menampilkan formulir kami.3:
Custom_Reg\Form
KelasSekarang saya akan menulis kelas, yang akan bertanggung jawab untuk menghasilkan markup formulir. Saya akan menggunakannya juga untuk menyimpan di properti path file template yang harus digunakan untuk menampilkan formulir.
Kelas menghasilkan loop markup form yang melingkari semua bidang yang ditambahkan
create
metode panggilan pada masing-masingnya. Setiap bidang harus merupakan instance dariCustom_Reg\FieldInterface
. Bidang tersembunyi tambahan ditambahkan untuk verifikasi nonce. Metode formulir adalah 'POST' secara default, tetapi dapat disetel ke 'GET' menggunakansetVerb
metode. Setelah dibuat markup disimpan di dalam$form
properti objek yang digaungkan denganoutput()
metode, terhubung ke'custom_registration_form'
kait: di Templat formulir, cukup panggildo_action( 'custom_registration_form' )
akan menampilkan formulir.4: Template default
Seperti yang saya katakan templat untuk formulir dapat dengan mudah diganti, namun kita membutuhkan templat dasar sebagai cadangan. Saya akan menulis di sini template yang sangat kasar, lebih merupakan bukti konsep daripada template nyata.
5:
Custom_Reg\FieldInterface
AntarmukaSetiap bidang harus menjadi objek yang mengimplementasikan antarmuka berikut
Saya pikir komentar menjelaskan kelas apa yang harus dilakukan dengan antarmuka ini.
6: Menambahkan beberapa bidang
Sekarang kita perlu beberapa bidang. Kita dapat membuat file bernama 'fields.php' di mana kita mendefinisikan kelas bidang:
Saya telah menggunakan kelas dasar untuk mendefinisikan implemantasi antarmuka standar, namun, seseorang dapat menambahkan bidang yang sangat khusus secara langsung mengimplementasikan antarmuka atau memperluas kelas dasar dan mengganti beberapa metode.
Pada titik ini kami memiliki segalanya untuk menampilkan formulir, sekarang kami membutuhkan sesuatu untuk memvalidasi dan menyimpan bidang.
7:
Custom_Reg\Saver
KelasKelas itu, memiliki 2 metode utama, satu (
validate
) yang loop bidang, memvalidasinya dan menyimpan data yang baik ke dalam array, yang kedua (save
) menyimpan semua data dalam database dan mengirim kata sandi melalui email ke pengguna baru.8: Menggunakan kelas yang ditentukan: menyelesaikan
Custom_Reg
kelasSekarang kita dapat bekerja lagi di
Custom_Reg
kelas, menambahkan metode yang "menempelkan" objek yang didefinisikan dan membuatnya bekerjaKonstruktor kelas menerima turunan dari
Form
dan salah satu dariSaver
.init()
metode (menggunakancheckUrl()
) lihat bagian pertama dari url setelahnyahome_url()
, dan jika cocok dengan angka yang tepat, ia memeriksa apakah formulir sudah dikirim, jika menggunakanSaver
objek, ia memvalidasi dan menyimpan data pengguna, jika tidak cukup cetak formulir .init()
metode juga menembakkan tindakan kait'custom_reg_form_init'
melewati contoh formulir sebagai argumen: kait ini harus digunakan untuk menambahkan bidang, untuk menyiapkan Templat kustom dan juga untuk menyesuaikan metode formulir.9: Menyatukan semuanya
Sekarang kita perlu menulis file plugin utama, di mana kita bisa
Custom_Reg
kelas dan panggilan instantiatinginit()
metode di atasnya menggunakan hook yang cukup awalBegitu:
10: Tugas yang hilang
Sekarang everithing sudah cukup. Kami baru saja menyesuaikan template, mungkin menambahkan file template kustom di tema kami.
Kami dapat menambahkan gaya dan skrip khusus hanya ke halaman pendaftaran khusus dengan cara ini
Dengan menggunakan metode itu kita dapat membuat beberapa skrip js untuk menangani validasi sisi klien, misalnya yang ini . Markup yang diperlukan untuk membuat skrip itu bekerja dapat dengan mudah ditangani mengedit
Custom_Reg\BaseField
kelas.Jika kami ingin menyesuaikan email pendaftaran, kami dapat menggunakan metode standar dan menyimpan data khusus di meta, kami dapat menggunakannya di email.
Tugas terakhir yang kami mungkin ingin kami terapkan adalah mencegah permintaan ke formulir pendaftaran default, semudah:
Semua file dapat ditemukan di Intisari di sini .
sumber
TLDR; Masukkan formulir berikut ke dalam tema Anda,
name
danid
atributnya penting:Saya menemukan artikel Tutsplus yang bagus tentang Membuat Formulir Registrasi Wordpress yang mewah dari awal . Ini menghabiskan cukup banyak waktu untuk menata formulir, tetapi memiliki bagian yang cukup sederhana berikut pada kode wordpress yang diperlukan:
Sunting: Saya telah menambahkan bit akhir ekstra dari artikel untuk menjelaskan di mana harus menempatkan potongan kode di atas - itu hanya sebuah formulir sehingga bisa masuk dalam templat halaman atau sidebar atau membuat kode pendek dari itu. Bagian penting adalah
form
yang berisi cuplikan di atas dan bidang yang diperlukan penting.sumber
wp-login.php?action=register
ini Artikel memberikan tutorial greate tentang cara membuat Anda memiliki frontend register / login / mengembalikan formulir kata sandi.
atau jika Anda mencari plugin maka saya telah menggunakan ini sebelumnya dan dapat merekomendasikan mereka:
sumber
Saya membuat situs web beberapa waktu lalu yang menampilkan formulir pendaftaran yang disesuaikan di sisi depan. Situs web ini sudah tidak aktif lagi tetapi berikut adalah beberapa tangkapan layar.
Berikut langkah-langkah yang telah saya ikuti:
1) Aktifkan kemungkinan bagi semua pengunjung untuk meminta akun baru melalui Pengaturan> Umum> Pilihan Keanggotaan. Halaman pendaftaran sekarang muncul di URL /wp-login.php?action=register
2) Kustomisasi formulir pendaftaran sehingga tampak seperti front-end situs Anda. Ini lebih rumit dan tergantung pada tema yang Anda gunakan.
Berikut adalah contoh dengan dua puluh tiga belas:
Kemudian, ubah stylesheet tema untuk membuat formulir muncul seperti yang Anda inginkan.
3) Anda dapat lebih lanjut memodifikasi formulir dengan mengubah pesan yang ditampilkan:
4) Jika Anda memerlukan formulir pendaftaran front-end, Anda mungkin tidak ingin pengguna terdaftar melihat backend ketika mereka masuk.
Ada banyak langkah, tetapi hasilnya ada di sini!
sumber
Cara lebih mudah: gunakan fungsi WordPress yang disebut
wp_login_form()
( halaman Codex di sini ).Anda dapat membuat plugin sendiri sehingga Anda dapat menggunakan kode pendek di halaman Anda:
Yang harus Anda lakukan adalah mendesain formulir di frontend.
sumber
Jika Anda terbuka untuk menggunakan plugin, saya telah menggunakan add-on Registrasi Pengguna untuk Gravity Forms sebelumnya, itu berfungsi dengan sangat baik:
http://www.gravityforms.com/add-ons/user-registration/
Sunting: Saya menyadari ini bukan solusi yang sangat terperinci, tetapi ia melakukan apa yang Anda butuhkan dan merupakan solusi yang baik.
Sunting: Untuk memperluas jawaban saya lebih jauh, add-on Registrasi Pengguna untuk bentuk gravitasi memungkinkan Anda memetakan bidang apa pun dalam formulir yang dibuat menggunakan Gravity Forms, ke bidang khusus pengguna. Misalnya, Anda dapat membuat formulir dengan Nama Depan, Nama Belakang, Email, Situs Web, Kata Sandi. Setelah pengiriman, add-on akan memetakan input tersebut ke bidang pengguna yang relevan.
Hal hebat lainnya tentang hal ini adalah Anda dapat menambahkan pengguna terdaftar ke antrian persetujuan. Akun pengguna mereka hanya akan dibuat setelah disetujui di backend oleh admin.
Jika tautan di atas putus, cukup Google "Registrasi Pengguna menambahkan untuk Bentuk Gravitasi"
sumber