在wp后臺安裝contact form7插件
創(chuàng)新互聯(lián)建站專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、望都網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5響應式網(wǎng)站、商城網(wǎng)站建設、集團公司官網(wǎng)建設、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為望都等各大城市提供網(wǎng)站開發(fā)制作服務。
啟用contact form 7,得到一個短代碼類似這種形式的:[contact-form id=x]
拷貝短代碼,然后在側(cè)邊欄添加一個text文字小工具,把短代碼粘貼到小工具里,保存
刷新首頁,看看是不是有了聯(lián)系框
1、 在comments.php評論表單中添加自己想要的字段,如:
p
input type="text" name="tel" id="tel" size="22" tabindex="4" /
label for="tel"電話/label
/p
tabindex 這個屬性按照從小到大排,為什么要這樣?你可以自己試試….
2、如果評論表單是使用系統(tǒng)自帶的,那么請用以下方法添加表單字段,如果不是,請略過
add_filter('comment_form_default_fields','comment_form_add_ewai');
function comment_form_add_ewai($fields) {
$label1 = __( '國家/地區(qū)' );
$label2 = __( 'Skype賬號' );
$label3 = __( '電話' );
$label4 = __( '傳真' );
$label5 = __( '地址' );
$value1 = isset($_POST['guojia']) ? $_POST['guojia'] : false;
$value2 = isset($_POST['skype']) ? $_POST['skype'] : false;
$value3 = isset($_POST['tel']) ? $_POST['tel'] : false;
$value4 = isset($_POST['fax']) ? $_POST['fax'] : false;
$value5 = isset($_POST['address']) ? $_POST['address'] : false;
$fields['guojia'] =HTML
p
label for="guojia"{$label1}/label
input id="guojia" name="guojia" type="text" value="{$value1}" size="30" /
/p
HTML;
return $fields;
}
3、 接收表單字段并寫入數(shù)據(jù)庫
在主題目錄的 functions.php添加以下代碼
add_action('wp_insert_comment','wp_insert_tel',10,2);
function wp_insert_tel($comment_ID,$commmentdata) {
$tel = isset($_POST['tel']) ? $_POST['tel'] : false;
//_tel 是存儲在數(shù)據(jù)庫里的字段名字,取出數(shù)據(jù)的就會用到
update_comment_meta($comment_ID,'_tel',$tel);
}
這兩步就可以將數(shù)據(jù)寫入數(shù)據(jù)庫了,不信你試試看
add_action()參數(shù)中的10和2分別表示該函數(shù)執(zhí)行的優(yōu)先級是10(默認值,值越小優(yōu)先級越高),該函數(shù)接受2個參數(shù)。
4、在后臺顯示額外字段
前面兩步只是接收和寫入到數(shù)據(jù)庫,那么要怎么在后臺評論列表中顯示呢?將以下代碼復制到主題目錄的functions.php 中:
add_filter( 'manage_edit-comments_columns', 'my_comments_columns' );
add_action( 'manage_comments_custom_column', 'output_my_comments_columns', 10, 2 );
function my_comments_columns( $columns ){
$columns[ '_tel' ] = __( '電話' ); //電話是代表列的名字
return $columns;
}
function output_my_comments_columns( $column_name, $comment_id ){
switch( $column_name ) {
case "_tel" :
echo get_comment_meta( $comment_id, '_tel', true );
break;
}
如果要在前臺的留言列表中調(diào)用,就用以下代碼,_tel就是你在數(shù)據(jù)庫中存儲的字段名字
?php
$tel = get_comment_meta($comment-comment_ID,'_tel',true);
if( !empty($tel)){
echo "電話".$tel;
}
?
5、 大功告成,看看后臺的評論列表,是不是多了一列電話,那樣的話就沒錯了。
6、如果要移除某一個自帶的表單字段,可以使用以下代碼
function tel_filtered($fields){
if(isset($fields['tel']))
unset($fields['tel']);
return $fields;
}
add_filter('comment_form_default_fields', 'tel')
當然第一步是要創(chuàng)建一個頁面模板。先創(chuàng)建一個 page-contact.php的文件,然后將page.php文件里的代碼復制到這個新建的文件里。為了確保WordPress能夠?qū)⑺斪饕粋€頁面模板來看待,我們需要在contact.php文件的開頭添加下面的注釋?php/*Template Name: Contact*/?也就是說contact.php文件應該是下面這樣子的:?php/*Template Name: Contact*/??php get_header() ?div id="container"div id="content"?php the_post() ?div id="post-?php the_ID() ?" class="post"div class="entry-content"/div!-- .entry-content -/div!-- .post--/div!-- #content --/div!-- #container --?php get_sidebar() ??php get_footer() ?步驟二: 創(chuàng)建表單 現(xiàn)在,我們需要創(chuàng)建一個簡單的聯(lián)系表單,只要將下面的代碼粘貼到 entry-content div內(nèi)部即可。form action="?php the_permalink(); ?" id="contactForm" method="post"ullilabel for="contactName"Name:/labelinput type="text" name="contactName" id="contactName" value="" //lililabel for="email"Email/labelinput type="text" name="email" id="email" value="" //lililabel for="commentsText"Message:/labeltextarea name="comments" id="commentsText" rows="20" cols="30"/textarea/lilibutton type="submit"Send email/button/li/ulinput type="hidden" name="submitted" id="submitted" value="true" //form 這個html代碼相當明了,不過要注意下第19行的 input type=”hidden”,我們后面會用它來檢查表單是否提交。步驟三: 數(shù)據(jù)的處理和錯誤的應對 表單看起來已經(jīng)不錯了,但是此刻它仍然是無效的因為它沒有發(fā)送任何郵件。我們需要做的是驗證表單是否提交,然后再驗證表單的字段填寫是否正確。如果填寫都是正確的,就會收到博客管理員的郵件并向他們發(fā)送郵件。否則,就無法發(fā)送郵件,錯誤提示就會顯示給用戶。將下面的代碼粘貼在頁面模板聲明和get_header()函數(shù)之間:?phpif(isset($_POST['submitted'])) {if(trim($_POST['contactName']) === '') {$nameError = 'Please enter your name.';$hasError = true;} else {$name = trim($_POST['contactName']);}if(trim($_POST['email']) === '') {$emailError = 'Please enter your email address.';$hasError = true;} else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {$emailError = 'You entered an invalid email address.';$hasError = true;} else {$email = trim($_POST['email']);}if(trim($_POST['comments']) === '') {$commentError = 'Please enter a message.';$hasError = true;} else {if(function_exists('stripslashes')) {$comments = stripslashes(trim($_POST['comments']));} else {$comments = trim($_POST['comments']);}}if(!isset($hasError)) {$emailTo = get_option('tz_email');if (!isset($emailTo) || ($emailTo == '') ){$emailTo = get_option('admin_email');}$subject = '[PHP Snippets] From '.$name;$body = "Name: $name \n\nEmail: $email \n\nComments: $comments";$headers = 'From: '.$name.' '.$emailTo.'' . "\r\n" . 'Reply-To: ' . $email;mail($emailTo, $subject, $body, $headers);$emailSent = true;}} ? 這段代碼確認表單是否提交,是否正確填寫。如果發(fā)生錯誤,比如,一個字段是空的,或者郵箱地址不正確,就會返回錯誤提示的信息,表單就無法提交。接著就是顯示錯誤提示的信息,例如,“請輸入你的姓名”。 下面是完整的表單頁面模板,如果喜歡的話你可以原封不動地使用。?php/*Template Name: Contact*/??phpif(isset($_POST['submitted'])) {if(trim($_POST['contactName']) === '') {$nameError = 'Please enter your name.';$hasError = true;} else {$name = trim($_POST['contactName']);}if(trim($_POST['email']) === '') {$emailError = 'Please enter your email address.';$hasError = true;} else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {$emailError = 'You entered an invalid email address.';$hasError = true;} else {$email = trim($_POST['email']);}if(trim($_POST['comments']) === '') {$commentError = 'Please enter a message.';$hasError = true;} else {if(function_exists('stripslashes')) {$comments = stripslashes(trim($_POST['comments']));} else {$comments = trim($_POST['comments']);}}if(!isset($hasError)) {$emailTo = get_option('tz_email');if (!isset($emailTo) || ($emailTo == '') ){$emailTo = get_option('admin_email');}$subject = '[PHP Snippets] From '.$name;$body = "Name: $name \n\nEmail: $email \n\nComments: $comments";$headers = 'From: '.$name.' '.$emailTo.'' . "\r\n" . 'Reply-To: ' . $email;mail($emailTo, $subject, $body, $headers);$emailSent = true;}} ??php get_header(); ?div id="container"div id="content"?php if (have_posts()) : while (have_posts()) : the_post(); ?div ?php post_class() ? id="post-?php the_ID(); ?"h1 class="entry-title"?php the_title(); ?/h1div class="entry-content"?php if(isset($emailSent) $emailSent == true) { ?div class="thanks"pThanks, your email was sent successfully./p/div?php } else { ??php the_content(); ??php if(isset($hasError) || isset($captchaError)) { ?p class="error"Sorry, an error occured.p?php } ?form action="?php the_permalink(); ?" id="contactForm" method="post"ul class="contactform"lilabel for="contactName"Name:/labelinput type="text" name="contactName" id="contactName" value="?php if(isset($_POST['contactName'])) echo $_POST['contactName'];?" class="required requiredField" /?php if($nameError != '') { ?span class="error"?=$nameError;?/span?php } ?/lililabel for="email"Email/labelinput type="text" name="email" id="email" value="?php if(isset($_POST['email'])) echo $_POST['email'];?" class="required requiredField email" /?php if($emailError != '') { ?span class="error"?=$emailError;?/span?php } ?/lililabel for="commentsText"Message:/labeltextarea name="comments" id="commentsText" rows="20" cols="30" class="required requiredField"?php if(isset($_POST['comments'])) { if(function_exists('stripslashes')) { echo stripslashes($_POST['comments']); } else { echo $_POST['comments']; } } ?/textarea?php if($commentError != '') { ?span class="error"?=$commentError;?/span?php } ?/liliinput type="submit"Send email/input/li/ulinput type="hidden" name="submitted" id="submitted" value="true" //form?php } ?/div!-- .entry-content --/div!-- .post --?php endwhile; endif; ?/div!-- #content --/div!-- #container --?php get_sidebar(); ??php get_footer(); ?第四步驟: 添加jQuery驗證 到此為止,我們的表達已經(jīng)能夠非常完美的運作了。不過你還可以通過添加一個客戶端驗證來改善它。為此,我打算使用jQuery和 validate jQuery插件,這個插件非常強大,通過它你可以正確、快速、輕松地驗證表單。首先是下載驗證插件 然后將它上傳到你的主題文件里,完成之后,將下面的代碼粘貼到一個新的文件里:$(document).ready(function(){$("#contactForm").validate();}); 將這個文件命名為verif.js并保存至你的主題文件目錄里。現(xiàn)在就需要將這個javascript文件鏈接到主題里,打開你的header.php文件,把下面的代碼粘貼到head和/head這兩個標簽之間:?php if( is_page('contact') ){ ?
如果要在文章內(nèi)加入表單,切換編輯模式為 html 直接添加表單代碼。 如果是在頁面內(nèi)添加,可以建立頁面模板,直接在模板內(nèi)添加表單。
網(wǎng)站名稱:wordpress聯(lián)系 wordpress聯(lián)系表單
分享鏈接:http://vcdvsql.cn/article18/ddegdgp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)站改版、、虛擬主機、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)