问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

wordpress的Contact Form 7插件怎么制作地域的下拉框3及联动

发布网友 发布时间:2022-04-21 21:55

我来回答

1个回答

热心网友 时间:2022-04-21 23:24

1、 在comments.php评论表单中添加自己想要的字段,如:
<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')
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
世界气象组织对地面气象观测站的分布和类型有何统计? 气象仪器土壤温度 电脑为什么会出现一个小对话框然后黑屏? ...会出现黑屏 然后出现一个英文框 然后黑屏一下 在恢复 这是为什么... 我玩电脑游戏时 突然黑屏了然后出现了一个框里面有一句英语翻译后是输... ...玩英雄连好像改了屏幕大小,然后突然黑屏,出现个框在满屏幕走框里说... 今天在玩游戏时从桌面切入游戏时突然黑屏,然后出现这种对话框,到底是... ...刚进游戏就黑屏,然后弹出这样一个框(如图),哪位大神知道该怎么解决... 江苏海事职业技术学院宿舍费用为什么涨价 刘邦儿子除了刘盈和刘恒外 其他儿子又是什么下场 移动宽带只用手机玩卡不卡 现在中国移动宽带玩游戏卡不卡 4M移动宽带玩游戏卡不卡? 中国移动宽带到底卡不卡的啊? 移动宽带卡不卡 2022年移动宽带卡不卡 我申请车贷汽车金融公司在审批期间会不会拿着我的身份证去查询我的个人信用记录??? 上海通用车贷违规吗 什么是植物人 植物人有意识吗 浏览器不兼容 四级报名浏览器不兼容 玻璃贴膜如何贴比较好呢? 正宗的盘龙糕由来和历史是怎样的? 如何正确贴汽车太阳膜 初级审计师难考吗 汽车太阳膜如何施工? 青岛哪里有收二手貂皮大衣 日本中古貂皮干净吗 黄花菜的食用方法 电脑上怎么用键盘复制和粘贴 ?求大神帮助 90W单相马达应配多大电容? 90w电机配多大电容 220伏90瓦的洗衣机脱水电机能用10微法电容吗? 220v100w直流电机需要多大的电容吗 220伏的40瓦的单项电机应该用多大的启动电容?怎样简洁计算?请帮助!!!_百度问一问 请问鄂州瑜伽有哪几家 哪家较好 鄂州哪家瑜伽馆比较专业 我是一名瑜伽教练,请问在鄂州和黄石有瑜伽馆在招聘吗? 鄂州健身房有哪些 安远到虔心多少公里 湖北新月坊母婴护理有限公司怎么样? 佛教分布在哪些地区? 我的php网站加了一个全国地址三级联动 我想在网站后台获取用户选择的地址具体怎么操作请详述 古诗词中的 边月 是什么样的月亮 是指边关的月 还是残缺不全的月 描写边塞月夜的诗句 谁能告诉我 古诗词中的 边月 是什么样的月亮 是指边关的月 还是残缺不全的月 作文正月十五前的最后一个圆月怎么写 出塞是唐代诗人王昌龄在月夜边塞看到前方将士 阅读唐诗《孤雁二首》(其二)(崔涂),然后回答问题。 描写“边塞与月亮”的诗句都有哪些?