众所周知,WordPress 站点的评论表单只有四个默认字段,分别是昵称、邮箱、网址以及评论内容,基本上满足绝大部分博客网站的需求。不过有些特殊的站点想要增加更多的额外评论字段应该怎么办呢?今天我们就来以 Nana 主题添加电话和 QQ 号为例进行说明。具体效果图如下:
Nana主题添加电话和QQ号操作步骤:
1、找到主题的 comments.php 文件,在输入邮箱的字段代码下面添加以下代码:
- <p>
- <input type=“text” name=“tel” class=“text” id=“tel” value=“<?php echo get_comment_meta($comment->comment_ID,’tel’,true); ?>” tabindex=“3”/>
- <label for=“tel”>电话</label>
- </p>
- <p>
- <input type=“text” name=“qq” class=“text” id=“qq” value=“<?php echo get_comment_meta($comment->comment_ID,’qq’,true); ?>” tabindex=“4”/>
- <label for=“qq”>QQ号</label>
- </p>
2、在主题的 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;
- $qq = isset($_POST[‘qq’]) ? $_POST[‘qq’] : false;
- update_comment_meta($comment_ID,’tel’,$tel);//tel 是存储在数据库里的字段名字
- update_comment_meta($comment_ID,’qq’,$qq);//qq 是存储在数据库里的字段名字
- }
3、如果想在 WordPress 后台的评论列表中也显示刚才添加的电话和 QQ 字段,那么继续在主题的 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[ ‘qq’ ] = __( ‘QQ号’ ); //QQ号是代表列的名字
- 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;
- case “qq” :
- echo get_comment_meta( $comment_id, ‘qq’, true );
- break;
- }
- }
保存更新 comments.php 和 functions.php 文件后,在前台的评论表单中就可以看到电话和 QQ 这两个额外字段,填写相关内容评论后,我们也可以在后台的评论列表中看到添加的电话和 QQ 号,效果如下图:
这个有了教程和代码操作起来还是很简单的,不过这两个额外字段感觉大部分站点都不需要,现在评论填写昵称、邮箱和网址都够烦了,再增加两个项目来填写,可能有时候会得不偿失。具体是否添加,就看大家自己了。