wordpressのコメント欄の並び順を変更する方法

久しぶりにwordpressのカスタマイズ依頼が来た。
依頼内容の中でコメント欄のフィールド並び順を変更したいとの事。

前は名前とかメールアドレスが上にあった気がしたのだが、今はコメント本文が一番上に来ている。
調べてみるとVersion4.4辺りで変更になったらしい。

What’s New in WordPress 4.4

「comment_form_fields」を使う

既存のコードがフィールドのカスタマイズを凄いぐちゃぐちゃにやっているので、なるべく影響が無いようにと言う事で、以下のコードで対応した。

add_filter( 'comment_form_fields',  'change_comment_form_order');
function change_comment_form_order($fields) {
    return array(
        $fields['author'],
        $fields['comment'],
        $fields['email']
    );
}

unset使っているサンプルを良く見かけたけど、引数の$fieldsが、comment、author、emailの並び順で来るので、unsetを使うと全部unsetしないといけない。(と思う)
なので、さくっと新規の配列を作って完了。

コメント

タイトルとURLをコピーしました