Gravity Forms, produk Rocketgenius, ialah penyelesaian borang yang komprehensif untuk WordPress. Mana-mana pembangun akan memberitahu anda bahawa membina borang kadangkala boleh memakan masa, terutamanya apabila ia perlu melakukan lebih daripada sekadar memproses mesej.
Bagaimana jika anda memerlukan borang untuk mendaftarkan pengguna ke tapak web anda berdasarkan kriteria tertentu? Atau bagaimana jika anda memerlukan borang yang membolehkan pengguna menyiarkan kandungan ke tapak anda dari perspektif bahagian hadapan? Borang Graviti boleh melakukan semua ini, dan apa yang tidak dilakukannya di luar kotak, anda boleh membina sendiri menggunakan cangkuk dan penapis terbina dalamnya.
Sebelum saya membincangkan cara Gravity Forms boleh melanjutkan pemasangan WordPress anda, adalah penting untuk ambil perhatian bahawa Gravity Forms ialah pemalam premium. Untuk mendapatkan beberapa perkara yang dibincangkan dalam artikel ini, anda memerlukan sekurang-kurangnya lesen komersial dalam bentuk Graviti, tetapi saya amat mengesyorkan lesen Pembangun kerana ia memberi anda keuntungan yang paling banyak untuk wang anda. Memandangkan kita tidak mempunyai perkara itu, mari lihat beberapa cara Gravity Forms boleh memanjangkan tapak WordPress anda.
Anda boleh menambah medan tambahan pada borang pendaftaran anda dengan menambahkan kod pada fail functions.php, tetapi anda boleh mengelak daripada menghabiskan terlalu banyak masa di latar belakang dengan membiarkan Gravity Forms melakukan tugas yang berat mengangkat. Mencipta pengguna dan menetapkan peranan pengguna dengan Borang Graviti adalah mudah, anda hanya mencipta borang, memadankan medan anda dengan medan lalai WordPress dan memilih peranan pengguna yang hendak diberikan semasa penyerahan. Anda juga boleh mempunyai berbilang "pendaftaran" pada borang yang sama.
Contoh cara borang graviti boleh memanjangkan proses pendaftaran pengguna ialah pendaftaran bersyarat. Contohnya, jika tapak keahlian anda hanya membenarkan pengguna dengan alamat e-mel "@xyz.com
”和“@abc.com
" untuk mendaftar, anda boleh menambah Buat Pengguna Sahaja dan menugaskan mereka kepada sumber pendaftaran berasaskan peranan. Tentukan sama ada mereka memenuhi kriteria tersebut sambil tidak membenarkan orang lain mendaftar.
Logik bersyarat ini melangkaui pendaftaran pengguna, anda boleh mencipta medan bersyarat dalam apa-apa jenis bentuk. Contohnya, jika anda ingin memaparkan medan tambahan kepada pengguna berdasarkan kumpulan umur mereka, anda boleh menyesuaikan medan dengan memilih untuk menunjukkan (atau memilih untuk menyembunyikan) medan lain berdasarkan respons pengguna.
Jika anda ingin menyediakan bahagian hadapan yang lebih berkuasa untuk pengguna anda, Gravity Forms boleh menjadi penyelesaian yang hebat, membolehkan pengguna menyerahkan kandungan terus ke siaran. Apa yang anda perlu lakukan ialah mencipta borang yang menggunakan fungsi medan siaran terbina dalam. Medan siaran ini memetakan kepada tajuk catatan lalai, kandungan kandungan, petikan, imej ciri, kategori dan teg. Borang Graviti juga memetakan data borang ke medan tersuai. Untuk memetakan kandungan anda ke medan tersuai:
Apabila Gravity Forms digabungkan dengan pemalam Gravity Forms + Custom Post Types, gabungan itu menyediakan lebih banyak fungsi dengan membenarkan data borang dipetakan kepada jenis pos tersuai (oleh itu nama pemalam). Jika anda bimbang tentang memasang terlalu banyak pemalam - dan hanya memerlukan sokongan untuk taksonomi tersuai - anda sentiasa boleh menambah sokongan secara manual dengan menyambung ke dalam Borang Graviti melalui fail functions.php.
Borang Graviti disertakan dengan dokumentasi yang luas. Jika anda boleh mengimpikannya, anda mungkin boleh mencapainya. Terdapat pelbagai cangkuk dan penapis yang boleh anda manfaatkan, dan bahagian terbaiknya ialah anda boleh menetapkannya pada borang individu. Katakan anda mahu membenarkan pengguna menghantar siaran ke tapak anda, tetapi anda ingin mengawal panjang tajuk mereka, anda boleh membuat logik pengesahan tersuai untuk mengehadkan panjang input. Lihat contoh.
add_filter( 'gform_validation_7', 'title_size' ); function title_size( $validation_result ) { $form = $validation_result["form"]; // assuming we don't want input_3 to be longer than 75 characters. if ( strlen( $_POST['input_3'] ) > 75 ) { // set the form validation to false $validation_result["is_valid"] = false; // find field with ID we're looking for and marking it as failed validation foreach ( $form["fields"] as &$field ) { // replace 3 with the field id number you're validating if ( $field["id"] == "3" ) { $field["failed_validation"] = true; $field["validation_message"] = "Title is too long."; break; } } } // change object back to the result $validation_result["form"] = $form; return $validation_result; } ?>
Bahagian pertama kod menggunakan penapis untuk melakukan pengesahan formal graviti dan mencipta fungsi yang menguji panjang medan yang berkaitan. Perhatikan nombor 7 dan 3 dalam klip ini. 7 mewakili ID borang dan 3 mewakili ID input sebenar yang sedang diuji.
Dokumentasi Gravity Forms termasuk senarai cangkuk dan penapis yang tersedia, serta contoh terperinci setiap satu - kadangkala anda juga boleh melihat bila/mengapa ia diperlukan.
Jika anda sedang mencari penyelesaian borang di luar kotak yang melakukan lebih daripada sekadar menghantar e-mel, Gravity Forms ialah pilihan yang bagus - dan menjimatkan masa. Kemungkinannya tidak berkesudahan. Bagi mereka yang berhujah atau berada di atas pagar tentang menggunakan Gravity Forms kerana harga pembelian, ia mungkin kelihatan tinggi, tetapi faedah dan masa pembangunan yang dijimatkan dengan menggunakan Gravity Forms adalah berbaloi.
Atas ialah kandungan terperinci Keanjalan bentuk dipertingkatkan melalui bentuk graviti. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!