在wordpress留言板如何添加一个手机号的字段

wordpresss不管是制作个人博客,留言板都必不可少,然而就是一个询盘的表单。对于询盘信息最重要的就是客户的联系方式啦,wordpress默认是可以填写邮箱的。如果不是外贸网站,手机号就是最重要的联系方式。wordpress留言板中如何添加一个手机的字段

wordpress中使用留言板功能只用一个函数 comment_form() 就可以搞定。 这函数默认会输出含有五个字段 comment 、authoremailurl、 cookies的表单。comment作为填写留言信息的字段,当然是必不可少的。其他的字段则可以进行订制,或者增加新的字段。这里说下如何新增加一个手机号的字段。

wordprss中添加一个手机号的字段

worpdress提供了修改留言字段的一个钩子,这里可以修改是这四个字段(authoremailurl、 cookies);
做个小测试,把这段代码放到主题文件中的 functions.php 中。找一个有留言的页面看下效果

add_filter('comment_form_default_fields', function ($fields) {
    echo "<!-- ";
    var_dump($fields);
    echo "-->";
    return $fields;
});

wordpress默认留言板字段

修改一下代码

add_filter('comment_form_default_fields', function ($fields) {
    $fields['tel'] =
        '<p class="comment-form-tel">'
            .'<label for="tel">联系电话</label> '
            .'<input id="tel" name="tel" type="text" value="'
                . esc_attr($commenter['comment_tel']) . '" size="30" />'
        .'</p>';
    return $fields;
});

wordpress修改留言板默认的字段,删除url和cookie,添加手机

前台的显示修改完成以后,就剩下两个问题。

  1. 手机号如何保存
  2. 后台如何显示

手机号的保存

使用wordpress提供的 wp_postmeta 表,通过 update_comment_meta函数把数据写入到这个数据表中。

add_action('wp_insert_comment',  function ($comment_ID, $commmentdata) {
    $tel = isset($_POST['tel']) ? $_POST['tel'] : false;
    update_comment_meta($comment_ID, 'tel', $tel);
}

手机号的后台显示

后台的显示,需要输出两个部分,第一个部分 表头的字段 , 第二 内容

# 后来评论显示电话的字段
add_filter('manage_edit-comments_columns', 'my_comments_columns');
function my_comments_columns($columns) {
    $columns['tel'] = __('联系电话');
    return $columns;
}


# 后台评论显示电话的内容
add_action('manage_comments_custom_column', 'output_my_comments_columns', 10, 2);
function output_my_comments_columns($column_name, $comment_id) {
    switch ($column_name) {
        case "tel" :
            echo get_comment_meta($comment_id, 'tel', true);
            break;
    }
}
wordpress留言板添加手机号字段,后台的显示效果

本文参阅与:https://www.liuhaolin.com/wordpress/73.html 三克油

PS延伸阅读,有一种比较简单的方式:

需要字段做一下修改,修改只有两种,第一删除,第二添加,修改的方法 (下面的代码写在模板文件中)

function my_fields($fields) {

// 添加一个字段
$fields['tel'] = '<p class="comment-form-tel">' . '<label for="qq">' . "联系电话" . '</label> ' .
'<input id="tel" name="tel" type="text" value="' . esc_attr($commenter['comment_tel']) . '" size="30" /></p>';

unset($fields['url']); // 删除一个字段
//unset($fields['author']); // 删除作者字段
//unset($fields['email']); // 删除邮箱字段
return $fields;
}

// 对留言板字段进行处理
add_filter('comment_form_default_fields', 'my_fields');

// 输出处理后的留言板
comment_form();

默认情况新增加的字段并不会自动保存,所有添加保存的代码,代码放到 functions.php 中

add_action('wp_insert_comment', 'wp_insert_my_comment', 10, 2);

function wp_insert_my_comment($comment_ID, $commmentdata) {
$tel = isset($_POST['tel']) ? $_POST['tel'] : false;
update_comment_meta($comment_ID, 'tel', $tel);
}

这段代码就保存了评论中的 tel 字段;

wrdpress 定制化留言板(后台显示)

对于自己添加的字段,默认是后台是不会显示的。所以添加一下代码到 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'] = __('联系电话');
$columns['email'] = __('电子邮箱');
return $columns;
}

# 添加字段的显示内容
function output_my_comments_columns($column_name, $comment_id) {
// die();
switch ($column_name) {
case "tel" :
echo get_comment_meta($comment_id, 'tel', true);
break;
case "email":
echo get_comment_author_email();
}
}

所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!

更多请关注:老梁`s Blog

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。 您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可->联系老梁投诉资源
Laoliang.Net资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:service@laoliang.net
老梁`s Blog(老梁博客) » 在wordpress留言板如何添加一个手机号的字段

发表评论

本站承接,网站推广(SEM,SEO),软件的安装的安装与调试,服务器的推荐以及配置,APP的开发与维护,网络或者web维护;财务软件,客户管理系统,人力资源,超市POS,医药管理,服务器安全,ecshop,金蝶,用友,管家婆;

立即查看 了解详情