这几天在修改的主题的时候,把wordpress升级到了最新版,发现评论内容在上面,而昵称,邮箱等信息跑到了下面。查阅了资料发现在在wordpress4.4版本以后,默认修改了表单的顺序,当你使用comment_form这个函数的时候就会发现表单顺序和以前颠倒了。再此查看和翻阅官方文档,发现官方给了comment_form_fields这个钩子,我们可以用这个钩子来调整comment_form顺序。
具体实现方法:(在function.php最后添加即可)

function recover_comment_fields($comment_fields){
    $comment = array_shift($comment_fields);
    $comment_fields =  array_merge($comment_fields ,array('comment' => $comment));
    return $comment_fields;
}
add_filter('comment_form_fields','recover_comment_fields');

顺便说明comment_form:
1.一般在需要评论的地方直接


$args:comment_form()的输出配置参数,为一个关联数组,配置项非常丰富,将再下一步说明。
$post_id:文章id,默认为空,即当前id 

2.常见函数说明

fields(array) (可选) 除了评论输入框之外的输入框, 比如 author, email, url.
默认值: apply_filters( ‘comment_form_default_fields’, $fields )
comment_field(string) (可选) 评论框的textarea 和 label.默认值:无
must_log_in(string) (optional)默认值:无
logged_in_as(string) (可选) 默认值:无
comment_notes_before(string) (可选) 评论框前的html标签,默认值:无
comment_notes_after(string) (可选) 评论框后面的html 标签,默认值:无
id_form(string) (可选) 输入form的id属性,默认值: ‘commentform’
id_submit(string) (可选) submit按钮的id属性值.默认值: ‘submit’
title_reply(string) (可选) 评论form的标题.默认值: __( ‘Leave a Reply’ )
title_reply_to(string) (可选) 默认值: __( ‘Leave a Reply to %s’ )
cancel_reply_link(string) (可选 取消回复的链接文字.默认值: __( ‘Cancel reply’ )
label_submit(string) (可选)提交按钮的名字.默认值: __( ‘Post Comment’ )
$fields :缺省的输入项。注意这个和前面的第一个fields数组的区别,看下面的注释
正文到此结束