WordPress 4.4 恢复评论表单文本域顺序

晚上有朋友问我,说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 更新的内容还是蛮多的,有很多地方都和以前不一样了,你可以选择习惯成自然,或者恢复成以前的样子,看你个人喜好罢了。

Comments : 22

  1. 我將這段代碼放到 functions.php 後會導致 登入時 空白頁面 :cry: 移除後就正常了

    1. @Risen

      好歹也得知道php有开始结束符吧。。。

发表留言

人生在世,错别字在所难免,无需纠正。

Smilies powered by wp-alu

Post Comment