Saya menggunakan filter khusus untuk mengubah bidang, tetapi tidak dapat menemukan cara mengubah urutan bidang dalam formulir komentar.
Pesanan yang diinginkan:
- bidang komentar (pertama / atas)
- nama
- situs web
Ini adalah kode yang saya gunakan saat ini:
function alter_comment_form_fields($fields){
$fields['comments'] = 'Test';
$fields['author'] = '<p class="comment-form-author">' . '<label for="author">' . __( 'Your name, please' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
'<input id="author" name="author" type="text" placeholder="John Smith" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>';
$fields['email'] = 'next'; //removes email field
//$fields['url'] = ''; //removes website field
return $fields;
}
add_filter('comment_form_default_fields','alter_comment_form_fields');
comments
templates
comment-form
jrutter
sumber
sumber
comment_form_top
.comment_form_before_fields
lebih baik mengaitkancomment_form_top
Saya suka juga menjawab. Namun saya ingin menggunakan textarea khusus, jadi itu tidak berfungsi dalam kasus itu. Saya menggunakan kait yang sama tetapi dengan fungsi yang terpisah:
sumber
Jelas ada sejumlah cara untuk mencapai ini. Misalnya, untuk memindahkan bidang komentar ke bagian bawah formulir, Anda akan menggunakan kode seperti ini:
Jika Anda ingin mengatur ulang semua bidang, hapus semua bidang. Masukkan kembali ke dalam array sesuai urutan yang Anda inginkan. Sederhana bukan?
Saya pikir saya akan menjabarkannya secara eksplisit untuk noobie berikutnya seperti saya untuk menemukan halaman ini dan tidak menemukan jawaban yang bermanfaat.
sumber
CSS yang tepat untuk melakukan ini akan tergantung pada tema Anda, namun demikian, inilah salah satu caranya:
Metode tampilan tabel memungkinkan Anda menyusun ulang hal-hal dengan ketinggian sewenang-wenang.
Info lebih lanjut: http://tanalin.com/en/articles/css-block-order/
sumber
#commentform { display: flex; flex-flow: column; }
.comment-form-comment { order: -1; }
.bidang od formulir komentar berada di array
$fields
dalam fungsicomment_form()
. Anda dapat mengaitkan di dalam filtercomment_form_default_fields
dan menyusun ulang array.Anda juga dapat menghubungkan filter di dalam
comment_form_defaults
dan mengubah default; biarkan semua data dalam array dan ubah hanyafield
array dengan bidang khusus Anda; termasuk html.default jika $ bidang:
sumber