Jika laman web anda dikuasakan oleh WordPress, terdapat banyak plugin yang mengintegrasikan borang hubungan dengan lancar di laman web anda.
Dalam artikel ini, saya akan menyediakan senarai beberapa plugin borang hubungan WordPress percuma. Saya juga akan membincangkan mengapa anda harus mempertimbangkan untuk melancarkan borang hubungan anda sendiri. Kemudian, saya akan memberikan anda tutorial pendek yang menunjukkan kepada anda bagaimana untuk membina plugin borang hubungan WordPress anda sendiri.
plugin borang hubungan WordPress
Sebelum kita memulakan, kita akan pergi ke beberapa plugin borang hubungan percuma yang popular yang terdapat di direktori plugin WordPress. Ini bagus untuk digunakan, tetapi lebih baik untuk belajar dari ketika anda mula membina plugin anda sendiri.
Borang hubungan 7 - Ini adalah plugin kedua yang paling popular dengan lebih daripada 18 juta muat turun, ia hampir boleh dianggap sebagai plugin borang hubungan de facto untuk laman web WordPress. Borang Hubungi 7 boleh menguruskan pelbagai borang hubungan dan anda boleh menyesuaikan borang dan kandungan e -mel dengan markup mudah. Ciri-ciri bentuk termasuk penyerahan berkuasa Ajax, Captcha, penapisan spam Akismet dan banyak lagi.
borang kenalan ke e -mel - Plugin ini bukan sahaja membuat borang hubungan dan menghantar data ke alamat e -mel yang ditentukan, ia juga menyimpan data borang hubungan ke dalam pangkalan data, menyediakan laporan yang boleh dicetak dan pilihan untuk mengeksport data yang dipilih ke Fail CSV/Excel.
membina bentuk yang lebih baik
Menurut peraturan prestasi Yahoo:
80% masa tindak balas pengguna akhir dibelanjakan di hadapan. Kebanyakan masa ini terikat dalam memuat turun semua komponen di halaman: imej, stylesheets, skrip, flash, dan lain -lain. Mengurangkan bilangan komponen seterusnya mengurangkan bilangan permintaan HTTP yang diperlukan untuk menjadikan halaman tersebut. Ini adalah kunci untuk halaman yang lebih cepat.Jika anda seperti saya, dan anda menginginkan plugin borang hubungan mudah yang hanya berfungsi, baca terus. Saya akan membimbing anda melalui proses mudah untuk membangunkan plugin anda sendiri supaya anda boleh mencium plugin kembung selamat tinggal. Dalam contoh ini tiada fail CSS dan JavaScript tambahan diperlukan, pengesahan yang dilakukan menggunakan HTML5.
pembangunan plugin borang hubungan
siap? Tetapkan? Pergi!
Semua pluigns WordPress adalah fail PHP, yang terletak di/WP-Content/Plugin/Direktori. Dalam contoh kami, fail itu akan dipanggil SP-Form-example.php. Saya menganggap anda selesa dengan menyambung ke pelayan anda menggunakan FTP/SFTP/SCP atau SSH.
Jika anda mahu mengikuti, cuma buat fail yang dipanggil SP-Form-example.php (contoh lengkap terakhir akan tersedia pada akhir artikel):
<span><span><?php </span></span><span><span>/* </span></span><span><span>Plugin Name: Example Contact Form Plugin </span></span><span><span>Plugin URI: http://example.com </span></span><span><span>Description: Simple non-bloated WordPress Contact Form </span></span><span><span>Version: 1.0 </span></span><span><span>Author: Agbonghama Collins </span></span><span><span>Author URI: http://w3guy.com </span></span><span><span>*/ </span></span><span> <span>// </span></span><span> <span>// the plugin code will go here.. </span></span><span> <span>// </span></span><span><span>?></span></span>
<span>function html_form_code() { </span> <span>echo '<form action="' . esc_url( $_SERVER['REQUEST_URI'] ) . '" method="post">'; </span> <span>echo '<p>'; </span> <span>echo 'Your Name (required) <br />'; </span> <span>echo '<input type="text" name="cf-name" pattern="[a-zA-Z0-9 ]+" value="' . ( isset( $_POST["cf-name"] ) ? esc_attr( $_POST["cf-name"] ) : '' ) . '" size="40" />'; </span> <span>echo '</p>'; </span> <span>echo '<p>'; </span> <span>echo 'Your Email (required) <br />'; </span> <span>echo '<input type="email" name="cf-email" value="' . ( isset( $_POST["cf-email"] ) ? esc_attr( $_POST["cf-email"] ) : '' ) . '" size="40" />'; </span> <span>echo '</p>'; </span> <span>echo '<p>'; </span> <span>echo 'Subject (required) <br />'; </span> <span>echo '<input type="text" name="cf-subject" pattern="[a-zA-Z ]+" value="' . ( isset( $_POST["cf-subject"] ) ? esc_attr( $_POST["cf-subject"] ) : '' ) . '" size="40" />'; </span> <span>echo '</p>'; </span> <span>echo '<p>'; </span> <span>echo 'Your Message (required) <br />'; </span> <span>echo '<textarea rows="10" cols="35" name="cf-message">' . ( isset( $_POST["cf-message"] ) ? esc_attr( $_POST["cf-message"] ) : '' ) . '</textarea>'; </span> <span>echo '</p>'; </span> <span>echo '<p><input type="submit" name="cf-submitted" value="Send"/></p>'; </span> <span>echo '</form>'; </span><span>}</span>
regex dalam borang hubungan Adakah pengesahan medan berikut:
[a-z0-9]: Hanya huruf, ruang dan nombor yang dibenarkan dalam medan nama; Simbol khas dianggap tidak sah.
[a-za-z]: Hanya huruf dan ruang yang dibenarkan dalam bidang subjek.
Kawalan borang e -mel mengesahkan medan e -mel oleh itu tidak ada keperluan untuk atribut corak.
Untuk maklumat lanjut tentang bagaimana ini berfungsi, baca artikel saya mengenai pengesahan borang klien dengan HTML5 untuk memahami bagaimana atribut corak membantu dengan pengesahan bentuk.
Cepat!fungsi penghantaran_mail () membersihkan data borang dan menghantar mel ke alamat e -mel pentadbir WordPress.
<span><span><?php </span></span><span><span>/* </span></span><span><span>Plugin Name: Example Contact Form Plugin </span></span><span><span>Plugin URI: http://example.com </span></span><span><span>Description: Simple non-bloated WordPress Contact Form </span></span><span><span>Version: 1.0 </span></span><span><span>Author: Agbonghama Collins </span></span><span><span>Author URI: http://w3guy.com </span></span><span><span>*/ </span></span><span> <span>// </span></span><span> <span>// the plugin code will go here.. </span></span><span> <span>// </span></span><span><span>?></span></span>
mesej nilai kawasan teks.
Tidak mahu borang kenalan menghantar mel ke admin? Cukup tetapkan pembolehubah $ ke alamat e -mel yang dikehendaki.
Jika e -mel telah berjaya diproses tanpa sebarang kesilapan oleh fungsi wp_mail (), teks
terima kasih kerana menghubungi saya, mengharapkan respons tidak lama lagi akan ditunjukkan, jika tidak ralat yang tidak dijangka berlaku dipaparkan.
1 minit dan 30 saat ditinggalkan
<span>function html_form_code() { </span> <span>echo '<form action="' . esc_url( $_SERVER['REQUEST_URI'] ) . '" method="post">'; </span> <span>echo '<p>'; </span> <span>echo 'Your Name (required) <br />'; </span> <span>echo '<input type="text" name="cf-name" pattern="[a-zA-Z0-9 ]+" value="' . ( isset( $_POST["cf-name"] ) ? esc_attr( $_POST["cf-name"] ) : '' ) . '" size="40" />'; </span> <span>echo '</p>'; </span> <span>echo '<p>'; </span> <span>echo 'Your Email (required) <br />'; </span> <span>echo '<input type="email" name="cf-email" value="' . ( isset( $_POST["cf-email"] ) ? esc_attr( $_POST["cf-email"] ) : '' ) . '" size="40" />'; </span> <span>echo '</p>'; </span> <span>echo '<p>'; </span> <span>echo 'Subject (required) <br />'; </span> <span>echo '<input type="text" name="cf-subject" pattern="[a-zA-Z ]+" value="' . ( isset( $_POST["cf-subject"] ) ? esc_attr( $_POST["cf-subject"] ) : '' ) . '" size="40" />'; </span> <span>echo '</p>'; </span> <span>echo '<p>'; </span> <span>echo 'Your Message (required) <br />'; </span> <span>echo '<textarea rows="10" cols="35" name="cf-message">' . ( isset( $_POST["cf-message"] ) ? esc_attr( $_POST["cf-message"] ) : '' ) . '</textarea>'; </span> <span>echo '</p>'; </span> <span>echo '<p><input type="submit" name="cf-submitted" value="Send"/></p>'; </span> <span>echo '</form>'; </span><span>}</span>
Akhirnya, shortcode [sitepoint_contact_form] didaftarkan kepada WordPress. Jadi hanya tambahkan:
<span>function deliver_mail() { </span> <span>// if the submit button is clicked, send the email </span> <span>if ( isset( $_POST['cf-submitted'] ) ) { </span> <span>// sanitize form values </span> <span>$name = sanitize_text_field( $_POST["cf-name"] ); </span> <span>$email = sanitize_email( $_POST["cf-email"] ); </span> <span>$subject = sanitize_text_field( $_POST["cf-subject"] ); </span> <span>$message = esc_textarea( $_POST["cf-message"] ); </span> <span>// get the blog administrator's email address </span> <span>$to = get_option( 'admin_email' ); </span> <span>$headers = "From: <span><span>$name</span> <<span>$email</span>>"</span> . "\r\n"; </span> <span>// If email has been process for sending, display a success message </span> <span>if ( wp_mail( $to, $subject, $message, $headers ) ) { </span> <span>echo '<div>'; </span> <span>echo '<p>Thanks for contacting me, expect a response soon.</p>'; </span> <span>echo '</div>'; </span> <span>} else { </span> <span>echo 'An unexpected error occurred'; </span> <span>} </span> <span>} </span><span>}</span>
Sekarang, untuk menggunakan plugin ini di laman web anda, hanya aktifkannya di bawah bahagian 'plugin' dari papan pemuka WordPress anda, kemudian buat pos atau halaman dan kemudian tambahkan kod shortcode di mana anda mahu borang muncul [sitepoint_contact_form] .
Jika anda kemudian pratonton halaman dan anda harus melihat borang hubungan yang dipaparkan seperti yang ditunjukkan di bawah.
Untuk lebih memahami bagaimana plugin dibina dan bagaimana untuk melaksanakannya di laman WordPress anda, salin kod di bawah, tampal dalam fail dan muat naiknya ke kandungan/plugin/plugin/wp anda.
Berikut adalah contoh keseluruhan plugin:
<span><span><?php </span></span><span><span>/* </span></span><span><span>Plugin Name: Example Contact Form Plugin </span></span><span><span>Plugin URI: http://example.com </span></span><span><span>Description: Simple non-bloated WordPress Contact Form </span></span><span><span>Version: 1.0 </span></span><span><span>Author: Agbonghama Collins </span></span><span><span>Author URI: http://w3guy.com </span></span><span><span>*/ </span></span><span> <span>// </span></span><span> <span>// the plugin code will go here.. </span></span><span> <span>// </span></span><span><span>?></span></span>
Soalan Lazim (Soalan Lazim) Mengenai Membina Plugin Borang Hubungan WordPress Anda Sendiri
Bolehkah saya membuat borang hubungan WordPress Multi-Step? pengekodan. Ini melibatkan mewujudkan pelbagai halaman bentuk dan menguruskan data antara langkah -langkah menggunakan sesi atau medan tersembunyi. Borang pelbagai langkah dapat meningkatkan pengalaman pengguna dengan memecahkan borang panjang ke bahagian yang boleh diurus. Mengintegrasikan dengan perkhidmatan CAPTCHA seperti Google Recaptcha. Ini memerlukan mendapatkan kunci API dari perkhidmatan dan menambah kod HTML dan PHP yang diperlukan ke borang anda. Captcha membantu melindungi borang anda dari spam dan penyerahan automatik.
Atas ialah kandungan terperinci Bina plugin borang kenalan WordPress anda sendiri dalam 5 minit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!