晚上有朋友問我,説 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 更新的內容還是蠻多的,有很多地方都和以前不一樣了,你可以選擇習慣成自然,或者恢復成以前的樣子,看你個人喜好罷了 (BY BIGFA) 。