10.05.2024
Rumah / Facebook / Yang lama menambahkan komentar komentar. Cara mengubah arah daftar komentar dan memindahkan form komentar ke atas. Formulir pengiriman komentar

Yang lama menambahkan komentar komentar. Cara mengubah arah daftar komentar dan memindahkan form komentar ke atas. Formulir pengiriman komentar

Sudah lama sejak saya menulis sesuatu tentang WordPress. Oleh karena itu, hari ini saya akan berbagi dengan Anda bagaimana Anda dapat mengubah formulir komentar secara manual di WordPress. Menurut saya ilmu ini dapat bermanfaat bagi setiap blogger pemula, karena bentuk komentar terkadang menjadi satu-satunya alat komunikasi antara pengunjung dan penulis. Jangan lewat :)

Sebelum kita memulai manipulasi apa pun dengan kode, saya ingin memperingatkan Anda terlebih dahulu bahwa kami akan mengedit file WordPress itu sendiri, dan bukan file tema. Ya, ini mungkin tampak berbahaya bagi sebagian orang, tidak ada gunanya bagi yang lain, dan tidak akan disukai oleh orang lain :) Tapi saya melakukannya persis seperti itu dan saya tidak punya masalah. Saya menyarankan Anda untuk membuat cadangan file yang Anda edit sebelum memulai.
Saya memperingatkan Anda tentang keselamatan, sekarang saya ingin menunjukkan hasil yang saya dapatkan.


Seperti yang bisa kita lihat, baris “Email Anda tidak akan dipublikasikan” telah dihapus. Bidang yang wajib diisi ditandai *". Tidak perlu menganggap pengunjung sebagai orang bodoh yang tidak punya otak. Mereka sudah paham apa saja yang perlu diisi dan apa yang tidak. Saya juga menyembunyikan nama bidang di dalam bidang itu sendiri. Untuk apa catatan tebal ini? Sebagian besar pengunjung, bahkan tanpa nama bidang, dapat “dengan mata” menentukan mana yang termasuk dalam bidang tertentu. Namun petunjuk internal harus tetap ada. Nah, caption di kolom komentar sudah kehilangan keberanian yang tidak perlu. Menurut pendapat saya, ini menjadi jauh lebih baik dan lebih bebas.

Jadi mari kita ubah semuanya dengan cepat! ;)
Kami pergi ke folder situs kami dan menemukan file wp-includes/comment-template.php di dalamnya. Kita cari baris 1522 di dalamnya ya, itu dia. Bagaimana saya menemukannya sendiri adalah keseluruhan cerita, saya akan menceritakannya nanti :)
Jadi, buka file untuk diedit dan lanjutkan ke baris 1522. Sekarang dan berikut ini (sampai tahun 1529) kira-kira seperti ini:

$bidang = array("penulis" => "

" . "" . __("Nama") . " " .($permintaan ? "*" : "") . "

", "email" => " ", "url" => "

" . __("Situs web") . "" . "

",);

Betapa sederhana dan jelas semuanya. Cukup dengan memotong semua kelebihannya dan menambahkan sedikit. Parameter akan ditambahkan

Placeholder="Teks bantuan" !}

Opsi ini memungkinkan Anda menampilkan teks apa pun di dalam kolom. Kami menggunakannya untuk menampilkan petunjuk:

"

" "

" "

"

Kami akan menghapus baris:

"

" . "" . __("Nama") . " " .($permintaan ? "*" : "") "

" . __("Situs web") . ""

Mereka bertanggung jawab untuk menampilkan keterangan di atas kolom.
Sebagai hasil dari SEMUA manipulasi ini, kami mendapatkan yang berikut:

$bidang = array("penulis" => "

", "email" => "

", "url" => "

",);

Yang tersisa hanyalah menghapus petunjuk bodoh “Email Anda tidak akan dipublikasikan. Bidang yang wajib diisi ditandai *". Untuk melakukan ini, hapus baris (sekitar tahun 1537):

"comment_notes_before" => "

" . __("Alamat email Anda tidak akan dipublikasikan.") . ($req ? $required_text: "") . "

",

Sepertinya itu saja, sekarang wujud kami menjadi sedikit lebih menarik. Saya harap informasi ini bermanfaat bagi seseorang :)

Berlangganan, beri komentar, saya akan dengan senang hati menerima komentar yang memadai. Mungkin saya sendiri tidak mengetahui sesuatu dan itu bisa dilakukan secara berbeda, bagikan pemikiran Anda.

WordPress memiliki beberapa jenis konten seperti postingan, halaman, komentar. WordPress adalah platform yang sangat fleksibel yang memungkinkan Anda menyesuaikan konten dasar agar sesuai dengan situs Anda. Anda dapat mengubah tampilan dan fungsionalitas. Dalam tutorial ini kami akan menunjukkan cara mengubah perilaku dan tampilan komentar di situs WordPress.

Langkah 1. Memahami fungsi comment_form dan argumennya

Mari kita lihat fungsi comment_form WordPress. Bertanggung jawab untuk menampilkan formulir komentar yang muncul di halaman atau postingan. Panggilan ke fungsi ini terutama dapat ditemukan di file comments.php di folder tema. File ini disertakan di berbagai tempat, misalnya di file single.php dan page.php, secara langsung atau melalui panggilan ke fungsi comments_template.

Deskripsi fungsi dapat ditemukan di codex WordPress.

Jika Anda menggunakan fungsi comment_form untuk menampilkan formulir, formulir akan dirender menggunakan parameter default dan akan berisi kolom seperti nama, email (kedua kolom wajib diisi), situs web, dan konten komentar. Pada tema default Twenty Eleven, bentuknya akan terlihat seperti ini.

Beberapa argumen penting pada fungsi comment_form:

  • bidang - Anda dapat menggunakannya untuk mengontrol tampilan bidang di formulir komentar.
  • comment_notes_before dan comment_notes_after - digunakan untuk menampilkan informasi sebelum dan sesudah formulir.
  • title_reply - digunakan untuk mengubah judul balasan, yang defaultnya adalah 'Tinggalkan Balasan'.
  • label_submit - digunakan untuk mengubah teks pada tombol kirim komentar.
Langkah 2. Sesuaikan formulir komentar menggunakan fungsi comment_form

Sekarang mari kita siapkan formulir komentar kita dengan meneruskan argumen ke fungsi comment_form.

Jika kita perlu menyesuaikan bidang dalam formulir komentar, kita perlu meneruskan daftarnya ke fungsi comment_form. Secara default, fungsi ini menggunakan daftar bidang berikut:

$bidang = array("penulis" => "

" . "" . __("Nama") . " " .($permintaan ? "*" : "") . "

", "email" => " ", "url" => "

" . __("Situs web") . "" . "

",);

Jika kita perlu menghapus sebuah field, misalnya website , kita hanya perlu mengecualikannya dari array dan meneruskan array tersebut ke fungsi comment_form.

$komentar = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="benar"" : ""); $bidang = array("penulis" => "

" . "" . __("Nama") . " " .($permintaan ? "*" : "") . "

", "email" => " ",); $comments_args = array("fields" => $fields); comment_form($comments_args);

Selain itu, kami juga akan mengubah nama formulir menjadi 'Tolong beri kami komentar Anda yang berharga', dan tulisan pada tombol menjadi 'Kirim Komentar Saya'.

Untuk menyelesaikan tugas ini, kami meneruskan argumen berikut ke fungsi comment_form:

$komentar = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="benar"" : ""); $bidang = array("penulis" => "

" . "" . __("Nama") . " " .($permintaan ? "*" : "") . "

", "email" => " ",); $comments_args = array("fields" => $fields, "title_reply"=>"Tolong beri kami komentar Anda yang berharga", "label_submit" => "Kirim Komentar Saya"); comment_form($comments_args);

Sekarang formulir komentar akan terlihat seperti ini:

Langkah 3. Menghapus bidang dari formulir menggunakan pengait

Selain itu, formulir komentar WordPress dapat dimodifikasi menggunakan kait dan filter. Pengaturan ini bisa sangat berguna ketika bekerja dengan sebuah plugin, ketika Anda perlu menyesuaikan beberapa elemen, tetapi tidak mengubah file tema. Filter untuk menambah atau menghapus bidang dari formulir - ' comment_form_default_fields '

Mari kita hapus kolom URL menggunakan filter. Kode di atas dapat digunakan di plugin atau di file function.php dari tema aktif.

Fungsi hapus_comment_fields($fields) ( unset($fields["url"]); kembalikan $fields; ) add_filter("comment_form_default_fields","remove_comment_fields");

Langkah 4. Tambahkan data ke formulir komentar menggunakan hook

Kita dapat menambahkan kolom ke formulir menggunakan filter 'comment_form_default_fields'. Mari tambahkan bidang usia penulis menggunakan filter dan simpan bidang ini dengan data tambahan dan tampilkan di komentar.

Tambahkan bidang seperti ini:

Fungsi add_comment_fields($fields) ( $fields["usia"] = "

" . __("Usia") . "" . "

"; kembalikan $bidang; ) add_filter("comment_form_default_fields","add_comment_fields");

#respond .comment-form-author label, #respond .comment-form-email label, #respond .comment-form-url label, #respond .comment-form-age label, #respond .comment-form-comment label ( latar belakang: #eee; -webkit-kotak-bayangan: 1px 2px 2px rgba(204,204,204,0.8); -moz-kotak-bayangan: 1px 2px 2px rgba(204,204,204,0.8); 0.8); warna: #555; ukuran font: 13 piksel; lebar minimum: 4 piksel 10 piksel;

Sekarang form komentar kita akan terlihat seperti ini:

Usia kini disimpan sebagai informasi tambahan. Anda perlu menggunakan pengait di 'comment_post':

Fungsi add_comment_meta_values($comment_id) ( if(isset($_POST["age"])) ( $age = wp_filter_nohtml_kses($_POST["age"]); add_comment_meta($comment_id, "age", $age, false); ) ) add_action("comment_post", "add_comment_meta_values", 1);

Setelah data disimpan, dapat ditampilkan sebagai komentar seperti ini:

Langkah 5. Menyiapkan komentar untuk jenis posting tertentu

Terkadang Anda ingin menggunakan kolom komentar hanya untuk jenis postingan tertentu. Mari kita ubah kode untuk menampilkan bidang usia hanya untuk jenis catatan buku:

Fungsi add_comment_fields($fields) ( if(is_singular("books")) ( $fields["age"] = "

" . __("Usia") . "" . "

"; ) kembalikan $bidang; ) add_filter("comment_form_default_fields","add_comment_fields");

Langkah 6. Buat fungsi panggilan balik untuk menampilkan komentar

Fungsi wp_list_comments digunakan untuk menampilkan komentar pada postingan. Dalam kode WordPress fungsinya dijelaskan secara rinci.

wp_list_comments memiliki argumen 'callback' di mana Anda dapat menentukan fungsi yang dipanggil ketika komentar ditampilkan.

Dalam tema Twenty Eleven di file comments.php Anda dapat menemukan baris:

Wp_list_comments(array("callback" => "twentyeleven_comment"));

Mari kita ubah menjadi:

Wp_list_comments(array("callback" => "my_comments_callback"));

Fungsi my_comments_callback akan dipanggil untuk setiap postingan.

Langkah 7: Menata Komentar

Sekarang kita akan mengubah sedikit gaya komentar. Kita cukup menampilkan isi postingan dan kolom umur yang telah kita tambahkan tadi. Kami juga akan mengubah warna latar belakang komentar.

Kode fungsi 'my_comments_callback':

Fungsi my_comments_callback($komentar, $args, $kedalaman) ( $GLOBALS["komentar"] = $komentar; ?>