<p>
<input type="text" name="tel" id="tel" size="22" tabindex="4" />
<label for="tel">电话</label>
</p>
tabindex 这个属性按照从小到大排,为什么要这样?你可以自己试试….
2、如果评论表单是使用系统自带的,那么请用以下方法添加表单字段,如果不是,请略过
add_filter('comment_form_default_fields','comment_form_add_ewai')
function comment_form_add_ewai($fields) {
$label1 = __( '国家/地区' )
$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、 接收表单字段并写入数据库
在主题目录的 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 是存储在数据库里的字段名字,取出数据的就会用到
update_comment_meta($comment_ID,'_tel',$tel)
}
这两步就可以将数据写入数据库了,不信你试试看
add_action()参数中的10和2分别表示该函数执行的优先级是10(默认值,值越小优先级越高),该函数接受2个参数。
4、在后台显示额外字段
前面两步只是接收和写入到数据库,那么要怎么在后台评论列表中显示呢?将以下代码复制到主题目录的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
}
如果要在前台的留言列表中调用,就用以下代码,_tel就是你在数据库中存储的字段名字
<?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')
1. 首先是安装,搜索 contact form 7即可找到,选择install并activate it2. 安装完成后,WP后台的左侧会出现一个contact 的菜单,这就是contact form 7的快捷菜单
3. 新建表单,在contact菜单下面Add new即可新建表单,填好名字如Inquiry,保存即可。
4. Form的设置, Form里面是表格的元素的设置,默认生成的有your name, your email, subject, your message,你也可以根据需要点击FORM顶部的相关菜单,添加相应的功能,如URL等,方法:把光标放置到一个空行,点击URL,会d出一个窗口设置:
required field 视需要打勾或不打勾
Name 保持默认即可
Default value 填上your website
use this text as the placehold of the field, 打上勾
this requires the author's URL 不打勾
其他的暂时不填, 然后点insert tag,即可插入到表格中了,然后点击SAVE。
你可以根据需要添加其他的一些表单模块。
5. MAIL设置,这里是设置相关的发信息资料,如收到邮件的格式,发送人和收件人邮箱,邮件的标题等
6. Message设置,这里面是一些提示信息文字的设置,一般保持默认即可
7. Additional settings:这里面可以增加一些扩展的代码,下文会讲述到常用的一些应用。
8. 如何调用Contact form 7表单:当以上设置好以后,把标题下面的一段代码(shortcode)复制,并粘贴到post 或page或portfolio的编辑框里面,然后点update即可完成添加。
完成以后,可以做一个测试,看是否发送成功。
9. Bluehost空间上的网站使用CF7的常见问题及解决方法:
询盘无法发送成功或无法收到,如下图所示
SOLUTIONS:
注:BLUEHOST上的网站不支持第三方邮箱发送系统邮件,所以如果装了SMTP插件则必须删掉才可以正常使用
Step1
假如你的工作企业邮箱为sales@xxx.com, 那么在CF7表单中将收件人邮箱设置为inquiry@xxx.com,发件人邮箱设置为wordpress@xxx.com,
Step2
到BH后台-hosting-email下面去添加3个网站域名后缀的email账号,分别是sales@xxx.com,inquiry@xxx.com, wordpress@xxx.com (无论你的企业邮箱在哪里,这里都必须要添加(不影响本身邮箱的使用),如果你的企业邮箱本身挂在BH上面了,那应该不会出现此问题),如下图
Step3
到bluehost后台 DOMAINS-ZONE EDITOR页面,找到MX(mail exchanger), 点击下面的more,勾选local mail exchanger,并点击change
Step 4
到BLUEHOST后台-hosting -email中选择forwarding 并点击add email forwarder,在address to forward中填上inquiry,在forward to this address中填上你的实际工作企业邮箱,如sales@xxx.com或 XXX@GMAIL.COM都可以,并点击SUBMIT。
只要按以上步骤设置,即可成功发送询盘并收到询盘,亲测有效。
10.如何实现发件人的IP追踪和询盘页面的标题,URL等信息,可以在mail菜单下面的message body后面加上以下代码可以实现:
[_remote_ip]:发送者当前的IP
[_url]: 询盘表单所在的页面
[_post_title]:询盘表单所有页面的名称
全部的代码可以查看这里 http://contactform7.com/special-mail-tags/
11. 询盘发送如何实现页面的跳转:在Additional settings里面加上以下代码(全部复制,如果不成功,则有可能是里面标点不对,一定要保证代码里面的所有标点符号为英文状态下的标点)
on_sent_ok: "location = 'http://example.com/'"
把example.com换成你跳转后的页面URL,保存,即可实现发送询盘后跳转。这样便于进行GA的转化设置。
12. 常用询盘表单的代码参考:
将以下代码放到 contact form 7第一个选项FORM里面,保存就可以调用到这个询盘表单了,这是我常用的一个。
<p class="cf7-title"><h2 style="font-size:25px"><i class="fa fa-envelope-o"></i>We will answer your email shortly!</h2></p>
<p>[text* your-name placeholder "Your name*"]</p>
<p>[email* your-email placeholder "Email Address*"]</p>
<p>[text your-subject placeholder "Your website*"]</p>
<p>[textarea your-message placeholder "Give us your need as specific as possible*"]</p>
<p>[submit "Send"]</p>
效果如图:
13. 配套插件:Contact form DB
这个插件的作用时,当用户通过你的CF7等发询盘的时候,无论是是否发送成功,这个询盘的内容都可以被记录下来,非常好用,可以防止无法发送询盘或无法收到邮件导致的询盘丢失。
您好,contactform7统计数据可以在WordPress后台的“Contact”标签下找到。在这里,您可以看到每个表单的提交次数,以及每个表单的最后提交时间。此外,您还可以查看每个表单的提交者的IP地址,以及每个表单的提交内容。您可以使用这些数据来分析您的表单提交情况,以便更好地改进您的表单设计。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)