Menyiapkan komentar di WordPress. Komentar WordPress – desain tampilan lengkap Semua tambahkan komentar komentar

Halo!

Artikel hari ini didedikasikan untuk Keluaran komentar WordPress. Kita akan melihat file dan fungsi mana yang berisi kode yang bertanggung jawab untuk menampilkan komentar. Apa yang perlu dilakukan untuk dapat melakukan perubahan pada blok blog WordPress ini.

Mari saya mulai dengan fakta bahwa setiap template (tema) WordPress memiliki file komentar.php Path lengkap dari direktori root adalah: /wp-content/themes/template_folder/comments.php

Tepat komentar.php umumnya bertanggung jawab atas blok komentar di tema WordPress tertentu.

Yang paling sering terdapat di comments.php:

– periksa perlindungan kata sandi pada komentar

– memeriksa apakah komentar diperbolehkan pada artikel

– memeriksa komentar dan menampilkan teks yang sesuai (“Tidak ada komentar…” atau “N komentar tersisa”)

memanggil fungsi keluaran komentar – wp_list_comments()

– keluaran navigasi (paging) saat memposting komentar di beberapa halaman

– menampilkan formulir untuk meninggalkan komentar pada artikel

Di sini jelas bahwa Anda dapat menentukan kelas atau mengubah properti gaya.css untuk kelas yang sudah ada. Dengan demikian, Anda dapat mengubah tampilan formulir meninggalkan komentar dan teks sebelum daftar komentar dan setelah daftar atau formulir ini. Tetapi Gaya keluaran dari komentar itu sendiri tidak dapat diubah di comments.php.

Ketika saya mencantumkan isi file komentar.php, kemudian dia secara khusus menekankan hal itu di komentar.php hanya ada panggilan ke fungsi untuk menampilkan komentar wp_list_comments(), tapi bukan kesimpulannya sendiri. Itu. V komentar.php Anda tidak akan menemukan (setidaknya di WordPress versi terbaru dan dengan pendekatan pengembangan template yang tepat): menampilkan nama penulis pesan dan tautan ke situs webnya, menampilkan avatar penulis, menampilkan tanggal dan waktu komentar, komentar itu sendiri, dan tautan “balas”.

Bagaimana cara mengubah gaya di daftar komentar?

Pertama, Anda perlu mencari tahu apakah template Anda menggunakan fungsi khusus untuk menampilkan komentar.

Fungsi wp_list_comments() dapat dipanggil tanpa panggilan balik (panggilan balik adalah fungsi panggilan balik) dan dengan panggilan balik.

1. Panggil wp_list_comments tanpa panggilan balik:

Itu. dalam parameter fungsi (yang ada dalam tanda kurung setelah namanya) tidak ada parameter yang disebut 'callback'.

Jika di komentar.php template Anda adalah situasi seperti itu Artinya tema ini tidak memiliki fungsi (pengguna) sendiri untuk menampilkan komentar dan untuk ini template standar (templat dari inti WordPress) digunakan. Itu terletak di file. Dan sejak saat itu Dalam hal ini, kami tidak akan dapat mengubah gaya tampilan komentar sampai kami beralih ke opsi kedua.

2. Panggil wp_list_comments dengan panggilan balik:

"ketik=komentar&ukuran_avatar=48&panggilan balik=komentar_khusus") ; ?>

panggilan balik=komentar_kustom mengindikasikan bahwa untuk menampilkan komentar kami memiliki fungsi khusus komentar_kustom , yang kodenya, secara kasar, kami teruskan sebagai parameter untuk dieksekusi ke fungsi standar wp_list_comments. Namun kami tidak lagi tertarik pada sisi teknis dari masalah ini, tetapi pada kehadiran fungsi template sendiri untuk menampilkan komentar. Kode untuk fungsi ini terletak di .

Tepatnya di fungsi kustom ini komentar_kustom dan kode yang bertanggung jawab atas kemunculan komentar individual, dan oleh karena itu, semua komentar secara keseluruhan, berada.

Kode fungsi khusus bersifat intuitif. Biasanya menggunakan fitur WordPress standar berikut:

dapatkan_komentar_penulis_link()– menerima tautan html ke situs web penulis komentar saat ini;

dapatkan_komentar_tanggal()– mendapatkan tanggal komentar;

dapatkan_komentar_waktu()– mendapat waktu berkomentar;

komentar_teks()– menampilkan teks komentar;

Anda dapat menemukan cuplikan dengan fungsi-fungsi ini dalam kode dan mengubah tampilan elemen tertentu dengan membingkainya dalam div atau rentang dan menetapkan kelas gaya tertentu.

Misalnya, dalam kode fungsi khusus, sebuah fragmen dari keluaran avatar:

< div class = "comment-author" >

< / div >

Sekarang tetap masuk gaya.css atur properti yang diinginkan ke kelas penulis komentar. Saya akan melihat contoh spesifik perubahan gaya secara lebih rinci di salah satu artikel berikut.

Sekarang Anda mungkin bertanya-tanya: “ Bagaimana jika template saya tidak memiliki fungsi komentar khusus?

Jawaban: Anda perlu membuatnya.

Opsi termudah adalah menyalin kode fungsi standar WordPress komentar().

Petunjuk untuk membuat fungsi khusus untuk menampilkan komentar:

1. Buka berkasnya /wp-include/comment-template.php dan temukan fungsi di dalamnya komentar().

Inilah awal uraiannya

/** * @since 3.6 * @access protected * * @param object $comment Komentar untuk ditampilkan. * @param int $kedalaman komentar. * @param array $args Argumen opsional. */ fungsi terlindung komentar($komentar, $kedalaman, $args) (

* @sejak 3.6

* @akses dilindungi

* @param objek $comment Komentar untuk ditampilkan.

* @param int $kedalaman komentar.

* @param array $args Argumen opsional.

komentar fungsi yang dilindungi ($komentar, $kedalaman, $args) (

2. Salin seluruh isi fungsi komentar().

Anda perlu menyalin potongan kode dari awal deskripsi yang ditunjukkan pada langkah 1 hingga kurung kurawal penutup } dan deskripsi serupa berikut tentang fungsi lainnya

Baru-baru ini salah satu pembaca kami bertanya apakah mungkin mengizinkan komentar anonim di WordPress. Secara default, pengguna tidak dapat memposting komentar di WordPress tanpa memberikan nama dan alamat email di formulir komentar. Pada artikel ini, kami akan menunjukkan cara mengizinkan pengguna meninggalkan komentar secara anonim di WordPress. Kami juga akan menunjukkan cara menyembunyikan kolom nama dan email dari formulir komentar.

Nama panggilan: Solusi Ideal

Cara terbaik untuk mengizinkan komentar anonim di WordPress adalah dengan mendorong pengguna untuk menggunakan nama samaran atau nama panggilan, bukan nama asli mereka.

Ini akan memungkinkan Anda membangun komunitas, sekaligus memungkinkan pengguna untuk tetap anonim. Komentator masih harus meninggalkan alamat email mereka, namun kebanyakan orang yang ingin tetap anonim akan menggunakan alamat email tambahan.

Anda dapat menentukan opsi tersebut dalam kebijakan komentar dan memberikan tautan silang ke opsi tersebut di atas formulir komentar.

Meskipun solusi ini ideal dan satu-satunya yang kami rekomendasikan, ada solusi lain untuk anonimitas penulis. Namun ingat, semakin banyak anonimitas yang dimiliki suatu situs, semakin banyak spam yang dikandungnya.

Menjadikan kolom Nama dan Email opsional

Lapisan anonimitas berikutnya yang dapat Anda tambahkan adalah menjadikan bidang Nama dan Email sepenuhnya opsional. Jika pengguna hanya mengirimkan komentar, tanpa nama atau email, maka akan lolos. Mari kita lihat cara menjadikan kolom Nama dan Email opsional.

Pertama-tama, Anda harus pergi ke bagian tersebut Pengaturan » Diskusi panel administratif situs dan hapus centang pada kotak “Penulis komentar harus menyebutkan nama dan email.” Sekarang Anda perlu menyimpan perubahan dan situs Anda akan menerima komentar tanpa nama dan email.

Menghapus kotak centang ini saja tidak akan memberi tahu pengguna bahwa mereka sekarang dapat meninggalkan komentar tanpa memberikan nama atau email. Anda dapat memberi tahu mereka tentang hal ini dengan menandai bidang terkait sebagai opsional. Kami juga menyarankan untuk menghapus bidang Situs Web untuk mengurangi jumlah spam. Untuk melakukan ini, Anda perlu mengubah formulir komentar Anda. Cukup salin dan tempel kode berikut ke file function.php tema Anda atau:

Function wpb_alter_comment_form_fields($fields) ( // Memodifikasi field Nama dan menampilkannya sebagai opsional $fields["author"] = "

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

"; // Ubah kolom Email dan tampilkan sebagai opsional $fields["email"] = " "; // Baris ini menghapus kolom Situs Web dari formulir komentar. $fields["url"] = ""; return $fields; ) add_filter("comment_form_default_fields", "wpb_alter_comment_form_fields");

Kode ini hanya menambahkan (Tidak perlu) ke bidang Nama dan Email di formulir komentar Anda. Itu juga menghapus bidang Situs darinya. Jika Anda ingin keluar dari “Situs”, cukup hapus baris kode yang sesuai. Seperti inilah bentuk formulir komentar Anda:

Cara menghapus sepenuhnya kolom Nama dan Email dari formulir komentar

Bagi pengguna yang ingin menghapus kolom Nama dan Email dari formulir komentar, berikut adalah potongan kecil kode untuk ditempelkan ke file function.php tema Anda atau:

Fungsi wpb_alter_comment_form_fields($fields) ( unset($fields["author"]); unset($fields["email"]); unset($fields["url"]); return $fields; ) add_filter("comment_form_default_fields" , "wpb_alter_comment_form_fields");

Jika formulir Anda menampilkan teks Alamat email Anda tidak akan dipublikasikan(Email Anda tidak akan dipublikasikan), lalu Anda dapat menyembunyikannya dengan mengedit file comments.php tema. Temukan tagnya dan ganti dengan kode berikut:

"

" . __("Nama dan alamat email tidak diperlukan.") . ($req ? $required_text: "") . "

")); ?>

Jika Anda tidak dapat menemukannya komentar_formulir, lalu Anda cukup menyembunyikan teks ini dengan menambahkan kode CSS berikut ke tema Anda atau ke file tema anak gaya.css:

Catatan-komentar ( display:none; )

Ini adalah tampilan formulir komentar Anda tanpa kolom nama, email, dan situs web:

Peringatan tentang komentar anonim

Harap dicatat bahwa tanpa kolom email yang wajib diisi, formulir Anda akan menarik banyak spam. Meskipun Akismet dan Sucuri dapat memblokir beberapa IP buruk, kami sangat menyarankan untuk menambahkan captcha untuk mengurangi spam.

Kami harap artikel ini membantu Anda mengizinkan pengguna berkomentar secara anonim di WordPress. Kami telah menunjukkan banyak gaya untuk formulir komentar, jadi jika Anda ingin mempelajari lebih lanjut tentang topik ini, lihat artikel kami

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 formulir 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, 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 memahami apa 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 didalamnya 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" => "

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

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

" . "

",);

Betapa sederhana dan jelas semuanya. Cukup dengan membuang 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:

"

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

"

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.

Nama ini tidak mengganggu banyak orang, namun terkadang muncul pertanyaan bagaimana cara mengubah tambahkan komentar untuk meninggalkan ulasan atau sejenisnya. Dalam hal ini, artikel ini akan membantu Anda. Seperti yang saya tulis di atas, saya akan menunjukkan beberapa cara.

Metode No.1

Untuk cara pertama, Anda harus mencari file pada folder dengan tema yang terpasang pada website Anda komentar.php. Jika ada, buka dan cari array di dalamnya yang bertanggung jawab untuk mengatur dan menampilkan isi form komentar. Ini terlihat seperti ini:

$args = array("comment_notes_before" => "

", "komentar_field" => "

", "id_submit" => "comm_subm", "label_submit" =>

Jadi, pada array ini, Anda perlu menambahkan parameter baru dengan nilai yang diinginkan dan selesai. Dalam kasus kami, ini adalah:

"title_reply" => "Tinggalkan ulasan Anda",

Seperti yang Anda pahami - Tinggalkan ulasan Anda, ini nama baru, bukan - Tambahkan komentar. Anda dapat menambahkan parameter seperti itu di akhir atau di awal array. Hasilnya akan seperti ini:

$args = array("title_reply" => "Tinggalkan ulasan Anda", "comment_notes_before" => "

Isi kolom di bawah ini. Email Anda tidak akan dipublikasikan. Bidang yang wajib diisi ditandai *

", "komentar_field" => "

", "id_submit" => "comm_subm", "label_submit" => "Kirim",); comment_form($args);

Ditambahkan ke awal dan sekarang, di halaman posting, baris akan ditampilkan - Tinggalkan ulasan Anda. Cara ini tidak rumit dan membutuhkan sedikit usaha, yang utama adalah mendefinisikan array dengan benar. Namun terkadang tidak ada file comments.php di dalam tema atau tidak ada array di dalamnya dan Anda tidak tahu cara menambahkannya dengan benar, maka metode kedua akan membantu Anda.

Metode nomor 2

Inti dari cara kedua adalah menambahkan fungsi baru yang akan menggantikan namanya. Untuk melakukan ini, di folder dengan tema aktif, Anda perlu mencari file fungsi.php dengan fungsi khusus dan di tempat yang nyaman, jika Anda tidak mengetahuinya, maka di akhir sebelum tag penutup PHP - ?> , jika tidak ada, tambahkan saja kode berikut di akhir:

Fungsi wph_change_submit_label($defaults) ( $defaults["title_reply"] = "Tinggalkan ulasan Anda"; return $defaults; ) add_filter("comment_form_defaults", "wph_change_submit_label");

Bonusnya

Ini pada dasarnya sama dengan apa yang dilakukan pada metode pertama, sederhananya, di sana kita mengimplementasikannya langsung ke dalam array, dan di sini melalui filter. Setelah langkah-langkah ini, Anda akan melihat perubahan pada namanya. Seperti pada metode pertama, Anda dapat mengubah teks - Tinggalkan ulasan Anda ke yang Anda suka. Teks ini diberikan sebagai contoh.

Saya juga ingin menyarankan dan menarik perhatian pada kemunduran kata Komentar. Jika formulir Anda menampilkan baris - 1 komentar diterbitkan atau Komentar: 10. Anda dapat menggunakan Fungsi dari artikel. Jika Anda sudah menggunakannya, saya sarankan di baris dengan array:

Array("komentar", "komentar", "komentar")

Ubah nama menjadi review, review, review jika Anda menggunakan kata ini pada cara di atas. Dengan begini, semuanya akan sama, dan tidak berserakan, ada review dan ada komentar.

Inilah informasi yang ingin saya sampaikan kepada Anda hari ini. Mungkin ini akan bermanfaat bagi seseorang.

Itu saja, terima kasih atas perhatiannya. 🙂

(di mana kami menghapus tag h3 di header sebelum formulir komentar) - hari ini kami akan membuat fungsi formulir komentar WP berfungsi sepenuhnya sesuai dengan aturan kami:

Kami akan memiliki kesempatan untuk mengatur gaya kami sendiri, mengubah judul “Tambahkan komentar” sesuai kebijaksanaan kami, mengecualikan, jika perlu, jendela entri informasi tertentu, misalnya, formulir url, menyesuaikan placeholder, dll. dan yang terpenting, jangan sampai kehilangan semua ini saat memperbarui mesin.

Sekarang kita dapat dengan mudah mencapai tujuan kita, hanya dengan mengedit file fungsi. Dan jika Anda merasa cukup kuat untuk mengedit kode situs (cara ini sedikit lebih rumit dari yang dijelaskan sebelumnya)…

Mari kita mulai konsernya:

Apakah layak mengedit inti WordPress?

Seperti yang Anda ketahui, mengedit inti WordPress (file CMS) bukanlah aktivitas yang disarankan, sebagian besar disebabkan oleh fakta bahwa setelah memperbarui mesin, pekerjaan hilang! Selain itu, bagi administrator sumber daya pemula, pembaruan WordPress ini dilakukan secara tiba-tiba (tanpa sepengetahuan mereka).Cara menghindarinya, baca ini.

Apakah layak untuk mengupgrade WordPress?

Pastinya ya! …tidak boleh ada perselisihan di sini! ...namun, seperti telah dikatakan, hal ini penuh dengan fakta bahwa pembaruan mesin akan menimpa edisi administrator!

Oleh karena itu, banyak web master, untuk pengaturan situs mereka yang lebih fleksibel, menggunakan semua jenis filter (peretasan): itu juga lumayan! Namun, saya (dan bukan hanya saya) lebih memilih untuk memindahkan beberapa fungsi kecil (relatif terhadap pentingnya pembaruan terus-menerus) dari inti WP ke root template.

Jadi, lakukan penyesuaian yang diperlukan pada file tema untuk mengelola status situs pada tingkat templat: tanpa kerugian apa pun)

Mari kita mulai mengedit, tapi!!

...Saya mengingatkan Anda setiap saat: buatlah semacam dokumen "memori" dari semua insiden yang dilakukan dengan blog. Salin file yang diedit. Ini akan berguna!

Percayalah: ini kurang profesionalisme, karena kecil kemungkinannya untuk mencerna akumulasi butiran pengetahuan menjadi bubur!

Apa yang kita butuhkan untuk mencapai tujuan:

transfer pemrosesan fungsi comment_form dari inti WP (dari file comment-template.php) ke direktori template.

di mana menemukan file comment-template.php

Ikuti jalur ini your_domain/wp-include file comment-template.php

...buka (atau langsung di hosting - itu yang saya lakukan), atau download dan edit di Notepad++ - baca: cara mengkonfigurasi Notepad++

Carilah garis seperti ini (perkiraan nomor baris 2111)

fungsi comment_form($args = array(), $post_id = null) (

do_action("comment_form_comments_closed");

Anda menyalin semua ini dan mentransfernya ke file fungsi Anda function.php.

Biasanya, semua penambahan kode baru ditempatkan sebelum tag penutup ?>. Tetapi saya sarankan untuk mengelompokkan kode yang ditambahkan, sehingga dapat dikatakan, berdasarkan topik, sehingga Anda dapat dengan mudah menemukan semuanya jika perlu.

Langkah selanjutnya adalah mengubah nama fungsinya: Anda dapat menyebutnya apa pun yang Anda inginkan, bahkan menetapkannya dengan monogram pribadi... Saya melakukannya seperti ini:

fungsi my_my_ comment_form

Kami menyimpan prestasi kami...

...dan buka file comments.php tema Anda.

Dalam file ini kita perlu mengubah nama pemanggilan fungsi menjadi yang kita panggil pada langkah pertama:

Cari frasa berikut di dokumen (biasanya di akhir):dan cukup tambahkan my_my_ atau nama Anda.

Seharusnya terlihat seperti ini:

...sekarang tugas memanggil fungsi baru selesai: logika templat akan menggunakan kode kita yang disalin ke dalam tema!

Hanya apa yang kami butuhkan!

Sekarang yang perlu Anda lakukan hanyalah mengedit kode fungsi yang baru dibuat my_my_comment_form();

...atau siapkan placeholder individual - lihat tampilannya bagi saya:

...di jendela formulir komentar saya ada monogram "Komentar Anda..." yang menghilang segera setelah komentator mengetik pesannya...

...dan seterusnya...dan seterusnya...seperti itu.

Jika Anda memiliki pertanyaan tentang menambah/menghapus elemen formulir komentar, tulis dan kami akan menyelesaikannya...

atau di sini Anda dapat membaca postingan tentang cuplikan bermanfaat (


Atas