晚上有朋友问我,说Alu 插件造成了他评论表单文本域混乱,评论内容在上面,而昵称,邮箱等信息跑到了下面。这个现象我平时浏览别人博客的时候就发现了。由于登录状态不显示昵称邮箱信息,所以站长很难发现这个变化。
大致本来是这样的
现在变成了这个样子
原因是WordPress 4.4 重写了comment_form
这个函数,对输出顺序进行了调整,所以才会出现这个现象。这个现象只有在评论表单使用comment_form
函数输出的时候才会出现,如果是自己写的表单肯定不会出现这个问题。
查看comment_form
这个函数的文档,发现并没有调整位置这个参数,进而查看源代码,发现在组装表单的时候提供了一个comment_form_fields
钩子,我们可以用这个来重新调整位置。
下面的代码加到functions.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');
WordPress 4.4 更新的内容还是蛮多的,有很多地方都和以前不一样了,你可以选择习惯成自然,或者恢复成以前的样子,看你个人喜好罢了。
我將這段代碼放到 functions.php 後會導致 登入時 空白頁面
移除後就正常了
@Risen
好歹也得知道
php
有开始结束符吧。。。