wordpress主题评论默认只有昵称 邮箱 网址三个选项,如何添加一些其他自定义字段呢,如qq\微信\手机号等
首先是需要丰富form表单结构:
<p> <label for="tel">手机号</label> <input type="text" name="tel" class="text" id="tel" value="<?php echo get_comment_meta($comment->comment_ID,'tel',true); ?>" tabindex="3"/> </p> <p> <label for="weixin">微信号</label> <input type="text" name="weixin" class="text" id="weixin" value="<?php echo get_comment_meta($comment->comment_ID,'weixin',true); ?>" tabindex="4"/> </p> <p> <label for="qq">QQ号</label> <input type="text" name="qq" class="text" id="qq" value="<?php echo get_comment_meta($comment->comment_ID,'qq',true); ?>" tabindex="5"/> </p>
然后是将提交的数据写入数据库
//wordpress新增文章评论表单字段,如手机、微信、QQ等 add_action('wp_insert_comment','wp_insert_tel',10,3); function wp_insert_tel($comment_ID,$commmentdata) { $tel = isset($_POST['tel']) ? $_POST['tel'] : false; $weixin = isset($_POST['weixin']) ? $_POST['weixin'] : false; $qq = isset($_POST['qq']) ? $_POST['qq'] : false; update_comment_meta($comment_ID,'tel',$tel);//tel 是存储在数据库里的字段名字 update_comment_meta($comment_ID,'weixin',$weixin);//weixin 是存储在数据库里的字段名字 update_comment_meta($comment_ID,'qq',$qq);//qq 是存储在数据库里的字段名字
最后是在后台评论列表显示出来
add_filter( 'manage_edit-comments_columns', 'my_comments_columns' ); add_action( 'manage_comments_custom_column', 'output_my_comments_columns', 10, 3 ); function my_comments_columns( $columns ){ $columns[ 'tel' ] = __( '电话' ); //电话是代表列的名字 $columns[ 'weixin' ] = __( '微信号' ); //微信号是代表列的名字 $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 "weixin" : echo get_comment_meta( $comment_id, 'weixin', true ); break; case "qq" : echo get_comment_meta( $comment_id, 'qq', true ); break; }