现在的位置:首页>wordpress>正文

wordpress文章评论表单新增电话、QQ字段

2017年04月26日 ⁄ 共 2047字 评论 2 条

正常情况下,我们的wordpress的评论里,一般只有邮箱,网站,用户名,是没有电话、QQ之类的,但可能有一些朋友,需要在wordpress文章评论表单新增电话、QQ字段,这样的话,发表评论的朋友,需要填写的信息更多.

WordPress的强大已经到了只有你想不到,没有wordpress做不到的,wordpress默认文章评论表单分别是昵称、邮箱、网址以及评论内容,这只能够满足一般博客网站的需求,如何增加更多的评论字段?我们可以使用wordpress评论自定义字段实现,有点像文章的自定义字段功能,对应数据库表就是wp_commentmeta,和文章的postmeta数据表差不多.

wordpress文章评论表单新增电话、QQ字段

效果图这里福利老幺就不贴出来了,直接看操作过程.需要注意的是,本教程不适合使用comment_form()函数的wordpress主题.

1、找到主题的comments.php文件并对其进行编辑,在输入邮箱的字段代码下面添加以下代码:

  1. <p>
  2.     <label for="tel">电话</label>
  3.     <input type="text" name="tel" class="text" id="tel" value="<?php echo get_comment_meta($comment->comment_ID,'tel',true); ?>" tabindex="3"/>
  4. </p>
  5. <p>
  6.     <label for="qq">QQ号</label>
  7.     <input type="text" name="qq" class="text" id="qq" value="<?php echo get_comment_meta($comment->comment_ID,'qq',true); ?>" tabindex="4"/>
  8. </p>

2、在主题的functions.php文件的第一行<?php下面添加代码:

  1. add_action('wp_insert_comment','wp_insert_tel',10,2);
  2. function wp_insert_tel($comment_ID,$commmentdata) {
  3.     $tel = isset($_POST['tel']) ? $_POST['tel'] : false;
  4.     $qq = isset($_POST['qq']) ? $_POST['qq'] : false;
  5.     update_comment_meta($comment_ID,'tel',$tel);//tel 是存储在数据库里的字段名字
  6.     update_comment_meta($comment_ID,'qq',$qq);//qq 是存储在数据库里的字段名字
  7. }

add_action()参数中的10和2分别表示该函数执行的优先级是10(默认值,值越小优先级越高),该函数接受2个参数。

3、在后台——评论中的列表里显示添加的字段,接着第二步的代码继续添加以下代码:

  1. add_filter( 'manage_edit-comments_columns', 'my_comments_columns' );
  2. add_action( 'manage_comments_custom_column', 'output_my_comments_columns', 10, 2 );
  3. function my_comments_columns( $columns ){
  4.     $columns[ 'tel' ] = __( '电话' );        //电话是代表列的名字
  5.     $columns[ 'qq' ] = __( 'QQ号' );        //QQ号是代表列的名字
  6.     return $columns;
  7. }
  8. function output_my_comments_columns( $column_name$comment_id ){
  9.     switch$column_name ) {
  10.         case "tel" :
  11.         echo get_comment_meta( $comment_id, 'tel', true );
  12.         break;
  13.         case "qq" :
  14.         echo get_comment_meta( $comment_id, 'qq', true );
  15.         break;
  16.     }
  17. }

保存后,在后台评论列表中就会看到添加的电话和QQ号.

 

 

小结

这个功能,没有什么特别的地方,用得上的朋友,直接将代码加入即可.

评论 2 条 评论内容很精采,有内幕,而且绝对有干货

  1. 电动螺旋压力机 2017年04月27日 15:10  @回复  Δ-49楼 回复

    您好,您的网站做的很不错,很漂亮,我已经收藏了,方便我随时访问.


    • 管理员
      管理员 2017年04月27日 16:07  @回复  ∇地下1层 回复

      多互访.

给我留言