Substitusi tambahkan komentar komentar. Menyempurnakan formulir komentar

Saya telah menggali file saya baru-baru ini. Tema WordPress, yaitu aturan untuk template tampilan komentar, beserta pemahaman strukturnya dan berbagai fungsi yang bertanggung jawab untuk menampilkan komentar pada postingan blog. Akibatnya, saya mengubah keluaran standar, membuat dan menyertakan file comments.php saya sendiri. Saya memutuskan untuk mengeluarkan hasilnya dalam bentuk artikel, karena saya memahami topik ini dengan baik, dan materinya cukup banyak.

Semoga artikel ini bermanfaat bagi pemilik blog WordPress yang familiar dengan HTML, CSS dan PHP.

***

Di WordPress, untuk menghubungkan template komentar ke postingan atau halaman, fungsi comments_template() digunakan, yang menggunakan dua parameter:

  • yang pertama adalah path ke file template, secara default adalah comments.php di folder dengan tema saat ini
  • yang kedua digunakan untuk memisahkan komentar berdasarkan jenis (reguler, trackback, dan pingback), false secara default

Mari masukkan comments_template() setelah post output di template post single.php atau template halaman page.php.

Lihat Codex WordPress untuk deskripsi dan argumen yang diterima untuk fungsi comments_template() dan lainnya yang disebutkan dalam artikel.

Persiapan templat

Mari kita coba memahami template komentar WP dan membuat file untuk menampilkan komentar pada postingan dan halaman blog dengan tangan kita sendiri. Sebagai contoh untuk referensi, Anda dapat mengambil template dari tema WordPress standar. Mari berkreasi dokumen baru di mana saja editor teks, sebut saja comments.php dan mulai mengedit.

  • Pada prinsipnya, Anda dapat memberi nama file apa pun yang Anda suka, lalu menulis jalur ke file ini di comments_template(), tetapi lebih baik tetap menggunakan nama standar
  • Omong-omong, Anda dapat mengedit file di panel admin WP
  • Yang terbaik tentu saja menulis kode dan segera memeriksa tindakannya di blog Anda atau di server lokal.

Di WordPress dimungkinkan untuk menonaktifkan komentar untuk setiap posting, jadi sebelum menampilkannya, Anda perlu memeriksa "keterbukaan":

Ini adalah kode pembungkus untuk langkah kita selanjutnya. Sekarang mari siapkan wadah untuk blok komentar

dengan kelas atau pengenal yang benar secara semantik (kelas tentu saja lebih disukai):

Di dalam

tulis judul agar pembaca Anda mengerti bahwa ada komentar dan tidak ada yang lain, tag

akan tepat untuk ini:

"

Di sini kami telah menentukan salah satu fungsi WordPress - the_title() , hasil dari menjalankan fungsi ini akan menjadi judul posting atau halaman saat ini. Jika Anda tidak ingin menampilkan judul, maka Anda cukup menulis "Komentar Pembaca".

Selanjutnya, sebelum menampilkan komentar, Anda perlu memastikan bahwa komentar tersebut tersedia, mis. periksa, jika ada - output daftar lengkap, jika tidak, Anda dapat menampilkan sesuatu seperti "" kepada pengguna. Jadi akan jelas bagi pengunjung posting / halaman Anda bahwa belum ada yang menulis apa pun, dan frasa yang memotivasi "Anda bisa menjadi yang pertama" akan meningkatkan kemungkinan mereka akan menulis sesuatu untuk Anda lebih cepat.

Jadi, setelah pernyataan masalah seperti itu, menjadi jelas bahwa untuk implementasi kita memerlukan konstruksi if/else dan fungsi untuk menampilkan jumlah komentar get_comments_number() . Jika fungsi mengembalikan 0 (nol), maka kami menampilkan "Belum ada komentar ...", jika tidak, "Komentar pembaca ...":

Belum ada komentar, tetapi Anda bisa menjadi yang pertama

Komentar pembaca pada artikel ""

Diskusi ditutup untuk halaman ini

Keluaran komentar

Hebat, kami telah menampilkan judul tergantung pada ada atau tidaknya komentar, sekarang logis untuk menampilkan komentar itu sendiri - fungsi wp_list_comments() bertanggung jawab untuk ini. Fungsi default membungkus semua komentar dalam tag

  • , jadi Anda harus menambahkan pembungkus
      dengan tugas kelas.commentlist:

      wp_list_comments() menerima serangkaian argumen yang dengannya Anda dapat menyesuaikan keluaran komentar secara fleksibel. Misalnya, Anda dapat mengubah ukuran avatar, teks respons komentar, dan pengaturan lainnya dengan melewatinya kata kunci dan artinya:

      $args = array("avatar_size" => 64, // ukuran avatar adalah 64*64px, default adalah tipe komentar 32)

      Parameter callback memerlukan pertimbangan khusus, yang mengambil nilai dari nama fungsi output komentar kustom. Ini memungkinkan Anda untuk menyesuaikan secara fleksibel penampilan setiap komentar. Seperti inilah tampilannya fungsi standar output dari file comment-template.php:

    1. id="li-komentar-">
      "); ?> %S mengatakan:"), get_comment_author_link()) ?>
      comment_approved == "0") : ?>
      $kedalaman, "kedalaman_maks" => $args["kedalaman_maks"]))) ?>

      Cara termudah adalah mengambil fungsi ini dan mengeditnya sendiri, lalu menyebutnya sebagai fungsi khusus dengan menuliskannya di file comments.php atau functions.php.

      Setelah mencantumkan komentar, Anda dapat mengubah tampilannya melalui gaya CSS. Beberapa opsi wp_list_comments() diduplikasi di admin WP, tab Opsi → Diskusi, khususnya keberadaan komentar pohon, pengurutan berdasarkan tanggal, dll.

      Formulir pengiriman komentar

      Untuk menambahkan formulir komentar, gunakan fungsi comment_form(). Mari tambahkan di bawah daftar komentar:

      Belum ada komentar, tetapi Anda bisa menjadi yang pertama

      Komentar pembaca pada artikel ""

      1. 64, "reply_text" => "Reply", "callback" => "my_comments"); wp_list_comments($args); ?>

      Diskusi ditutup untuk halaman ini

      Dengan panggilan ini, comment_form() akan memuat kode default dari file comment-template.php WordPress. Fungsi mengambil dua parameter:

      Comment_form($args, $post_id);

      • $args - susunan pengaturan keluaran formulir
      • $post_id - id kiriman yang akan diterapkan fungsi, secara default kiriman saat ini

      Misalnya, lakukan validasi pada bidang formulir HTML5, tambahkan petunjuk teks. Mari buat array $args untuk memasukkan pengaturan yang diinginkan:

      $args = larik(); comment_form($args);

      Di dalam array, Anda perlu menulis kunci pengaturan:

      $args = array("fields" => apply_filters("comment_form_default_fields", $fields));

      Sekarang kita perlu mengisi variabel array $fields, yang menyertakan kolom formulir. Cara termudah adalah mengambil kode default WordPress dari comment-template.php dan memodifikasinya sedikit:

      "

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

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

      " . "

      "); $args = array("fields" => apply_filters("comment_form_default_fields", $fields)); comment_form($args); ?>

      Di sini, nilai parameter author , email , dan url adalah kode html masing-masing bidang Name, Mail, dan Website. Nilai-nilai ini perlu diedit.

      Untuk bidang, kita perlu menambahkan atribut berikut:

      • wajib - membuat bidang wajib, tambahkan untuk bidang "Nama" dan "Situs".
      • placeholder - menambahkan petunjuk teks ke bidang
      • pattern="(3,)" untuk bidang "Nama" - tentukan nama dalam huruf alfabet Latin atau Rusia dan panjang minimal 3 karakter
      • type="email" untuk kolom "Mail" - ini akan menambah validasi email HTML5
      • pelengkapan otomatis - mengaktifkan pelengkapan otomatis untuk bidang
      • type="url" untuk bidang "Situs".

      Perlu diingat bahwa atribut HTML5 baru tidak akan berfungsi di browser lama. Peramban yang tidak memahami jenis bidang baru hanya akan menampilkannya sebagai teks, mis. .

      Selain itu, untuk blog saya, saya menukar tag di beberapa tempat, menambahkan kelas untuk gaya, sebagai hasilnya saya mendapatkan kode larik $fields berikut:

      "

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

      "); ?>

      Kami telah mengubah bidang entri data. Sekarang mari kita edit formulir komentar itu sendiri

      " ?>

      Ini adalah kode WordPress standar, saya hanya memodifikasinya sedikit - saya menambahkan petunjuk teks dan menambahkan kelas tambahan untuk gaya.

      Inilah yang saya dapatkan dengan gaya CSS:

      Formulir Komentar WordPress Menggunakan Atribut HTML5

      Hasil

      Terakhir, saya akan membuang kode comments.php yang dihasilkan:

      pembaca artikel ""

      • Jadilah yang pertama berkomentar - penulis mencoba
      1. id="li-komentar-">
        "); ?> %S menulis:"), get_comment_author_link()) ?>
        comment_approved == "0") : ?>
        $kedalaman, "kedalaman_maks" => $args["kedalaman_maks"]))) ?>
        "Balas", "panggilan balik" => "verstaka_comment"); wp_list_comments($args); ?>
      "

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

      "); $args = array("comment_notes_after" => "", "comment_field" => "

      ", "label_submit" => "Kirim", "fields" => apply_filters("comment_form_default_fields", $fields)); comment_form($args); ?>

      Diskusi ditutup untuk halaman ini

      FAQ tentang komentar

      Bagaimana cara menyorot komentar penulis dan pengguna?

      Terkadang sangat nyaman untuk menyetel tampilan terpisah untuk komentar penulis, bahkan ada plugin khusus untuk ini. Namun, Anda dapat melakukannya tanpa plugin apa pun - hanya dengan menulis gaya untuk kelas .bypostauthor di file css. Demikian pula, Anda dapat mengatur gaya untuk komentar pengguna - .bypostuser:

      Bagaimana gaya komentar pohon?

      Untuk mengaktifkan komentar pohon, Anda harus pergi ke admin WP, Pengaturan → Diskusi → Izinkan komentar pohon. Sekarang komentar anak akan memiliki struktur pohon, mereka dapat diberikan gaya terpisah, misalnya, indentasi. Yang perlu Anda lakukan adalah mengatur aturan css untuk daftar dengan kelas .children :

      Daftar komentar .children ( padding: 0 0 0 40px; /* padding kiri untuk komentar anak */ )

      Gaya untuk komentar genap dan ganjil

      WordPress secara default memberikan komentar ganjil class.even , even comments.odd . Melalui kelas-kelas ini mudah untuk mengatur gaya Anda sendiri:

      Daftar komentar .even ( /* gaya untuk komentar ganjil */ ) .commentlist .odd ( /* gaya untuk komentar genap */ )

      Bagaimana cara menutup komentar pada satu posting?

      Sangat mudah - buka halaman untuk menulis posting, Pengaturan layar → Diskusi, blok Diskusi muncul di bawah bidang posting, batalkan pilihan item Izinkan komentar.

      • Saat menyusun template komentar Anda sendiri, Anda dapat menggunakan file comments.php dari standar dan tema WordPress berbayar dan gratis lainnya
      • Alternatif untuk komentar standar adalah plugin formulir komentar pihak ketiga, seperti DISQUS yang populer
      • Sangat mungkin untuk mengedit kode langsung di file comment-template.php itu sendiri, namun, jika terjadi pembaruan WordPress, semua kode akan ditimpa - Anda harus mengeditnya lagi
      • Ingat - tidak ada template komentar yang sempurna

      Membantu proyek

      65 suara, rata-rata: 4,46 dari 5)

      Saatnya serius menata komentar WordPress. Di hampir semua tema, mereka dikonfigurasikan oleh file sistem, yang pada gilirannya membatasi pengeditan fungsi individual. Saya pikir banyak orang telah menemukan ini ketika mereka perlu mengubah komentar, tetapi tidak dapat menemukan dengan tepat di mana letaknya. Oleh karena itu, akan lebih baik untuk mentransfer semua fungsi ke tema saat ini, yang akan memberi kita kebebasan penuh untuk mengontrol.

      Pada artikel ini, saya telah mengumpulkan beberapa fitur keren yang akan membantu meningkatkan komentar. Tetap saja, mereka memungkinkan Anda untuk melakukan dialog, baik dengan administrator situs maupun antar pengguna. Jawab pertanyaan, mulailah berbagai diskusi, secara umum, perkenalkan komunikasi virtual yang lengkap. Jadi perlu memperhatikan mereka dan membawanya ke bentuk yang tepat.

      Inilah yang akan kami lakukan:

      • Kustomisasi penuh
      • Gaya penampilan
      • Penomoran komentar
      • Jumlah posting per pengguna
      • Tetapkan status untuk setiap pengguna
      • Dan hal-hal kecil lainnya

      Kami akan menganalisis setiap item secara terpisah, dan di akhir artikel semua fungsi akan digabungkan sepenuhnya menjadi satu kode yang sudah jadi.

      Menyesuaikan komentar

      Di WordPress, komentar ditampilkan menggunakan fungsi wp_list_comments, biasanya di file comments.php. Dan pembentukan fungsi individual, seperti loop itu sendiri, digunakan dari templat file sistem comment-template.php . Tetapi dalam kasus yang jarang terjadi, pengaturan dapat ditemukan di tema WordPress, file functions.php atau file comments.php.

      Jadi, jika tema Anda tidak termasuk dalam kasus yang jarang terjadi dan ada kebutuhan untuk membuat pengaturan sendiri, buka file functions.php dan tambahkan kode berikut sebelum tanda ?>:

      Jika (! function_exists("my_comment")) : function my_comments($comment, $args, $depth) ( global $commentnumber; $GLOBALS["comment"] = $comment; switch ($comment->comment_type) : case " pingback" : case "trackback" : ?>

    2. ", ""); ?>
    3. id="li-komentar-">
      comment_parent) $avatar_size = 39; gema get_avatar($komentar, $avatar_size); /* penerjemah: 1: penulis komentar, 2: tanggal dan waktu */ printf(__("%1$s %2$s", "my_press"), sprintf(" %S", get_comment_author_link()), sprintf(" ", esc_url(get_comment_link($comment->comment_ID)), get_comment_time("c"), /* penerjemah: 1: tanggal, 2: waktu */ sprintf(__("%1$s %2$s", " my_press"), get_comment_date(), get_comment_time())))); ?>
      comment_approved == "0") : ?>
      __("Balas", "my_press"), "kedalaman" => $kedalaman, "kedalaman_maks" => $args["kedalaman_maks"]))); ?>
      ", ""); ?>

      Kemudian di file comments.php tambahkan fungsi panggilan:

        "komentar_saya")); $nomorkomentar = 0; ?>

      Setelah manipulasi ini, komentar Anda akan dihasilkan sesuai dengan fungsi template dari file functions.php dari tema saat ini.

      Menghitung komentar setiap pengguna

      Menggunakan fungsi di bawah ini, kita dapat menampilkan jumlah posting yang tersisa di sebelah komentator. Dengan demikian, Anda dapat mengamati seberapa aktif pengguna, dan bahkan statistik tidak berlebihan, terutama dalam hal ini.

      Kami membuka file functions.php yang sudah tidak asing lagi bagi kami dan menulis kode berikut di bagian akhir sebelum tanda?>:

      //hitung fungsi kiriman pengguna bac_comment_count_per_user() ( global $wpdb; $comment_count = $wpdb->get_var("SELECT COUNT(comment_ID) FROM ". $wpdb->comments. " WHERE comment_author_email = "" . get_comment_author_email() ." " AND comment_approved = "1" AND comment_type NOT IN ("pingback", "trackback")"); if ($comment_count == 1) ( echo " 1 Post"; ) else ( echo " " . $comment_count . " Posts ";))

      Sekarang tinggal menambahkan fungsi panggilan ke tempat yang Anda butuhkan:

      Pesan akan dihitung berdasarkan email pengguna, baik terdaftar maupun tidak. Komentar yang diperhitungkan hanya dikonfirmasi oleh administrator situs, tetapi tidak dalam mode siaga dan dihapus.

      Kami menetapkan status untuk setiap pengguna tergantung pada jumlah komentar

      Inilah kasus di mana statistik pasti memainkan peran penting. Karena fungsi dibangun berdasarkan jumlah pesan, dan sebagai hasilnya, nomor yang dicapai memberikan status yang sesuai kepada pengguna. Ini, secara teori, digunakan di setiap forum untuk menunjukkan otoritas pengguna pada sumber daya ini.

      Buka kembali file functions.php dan tambahkan kode berikut sebelum tanda ?> :

      //fungsi status pengguna get_author_class($comment_author_email,$user_id)( global $wpdb; $adminEmail = get_option("admin_email"); $author_count = count($wpdb->get_results("SELECT comment_ID as author_count FROM $wpdb->AdminUseR "; if($author_count>=1 && $author_count<50 && $comment_author_email !==$adminEmail) echo "Прохожий"; else if($author_count>=50 && $author_count<100 && $comment_author_email !==$adminEmail) echo "Новичок"; else if($author_count>=100 && $jumlah_pengarang<250 && $comment_author_email !==$adminEmail) echo "Знающий"; else if($author_count>=250 && $jumlah_pengarang<400 && $comment_author_email !==$adminEmail) echo "Опытный"; else if($author_count>=400 &&$jumlah_pengarang<800 && $comment_author_email !==$adminEmail) echo "Бывалый"; else if($author_count>=800 && $author_count<1200 && $comment_author_email !==$adminEmail) echo "СуперПупер"; else if($author_count>Profesor"; )

      Dan di tempat yang diinginkan kami menampilkan fungsi panggilan:

      comment_author_email,$comment->user_id)?>

      Penjelasan: fungsinya, seperti yang sebelumnya, dikaitkan dengan email pengguna. Hanya di sini tugas utamanya tidak mudah menghitung pesan, tetapi jumlah dari dan ke tergantung pada nomor yang ditetapkan. Dan begitu pengguna mencapainya, dia mendapat posisi tertentu. Total ada 7 status, ditambah admin dan lencana untuk peserta terdaftar.

      Kode komentar yang benar-benar selesai

      Di sini kita telah sampai pada akhir artikel ini. Di sini saya tidak terlalu malas mengumpulkan semua fungsi, termasuk mengatur komentar dalam satu kode yang sudah jadi. Saya menambahkan gaya penampilan saya sendiri dan hasilnya seperti forum mini.

      Buka file functions.php dan di akhir sebelum tanda?> tambahkan kode berikut:

      //hitung fungsi kiriman pengguna bac_comment_count_per_user() ( global $wpdb; $comment_count = $wpdb->get_var("SELECT COUNT(comment_ID) FROM ". $wpdb->comments. " WHERE comment_author_email = "" . get_comment_author_email() ." " AND comment_approved = "1" AND comment_type NOT IN ("pingback", "trackback")"); if ($comment_count == 1) ( echo " 1 Post"; ) else ( echo " " . $comment_count . " Posts "; ) ) //fungsi status pengguna get_author_class($comment_author_email,$user_id)( global $wpdb; $adminEmail = get_option("admin_email"); $author_count = count($wpdb->get_results("SELECT comment_ID as author_count FROM $ wpdb->komentar WHERE comment_author_email = "$comment_author_email" ")); if($comment_author_email ==$adminEmail) echo "Admin"; if($user_id!=0 && $comment_author_email !=$adminEmail) echo "UseR"; if ($author_count>=1 && $author_count<50 && $comment_author_email !==$adminEmail) echo "Прохожий"; else if($author_count>=50 && $author_count<100 && $comment_author_email !==$adminEmail) echo "Новичок"; else if($author_count>=100 && $jumlah_pengarang<250 && $comment_author_email !==$adminEmail) echo "Знающий"; else if($author_count>=250 && $jumlah_pengarang<400 && $comment_author_email !==$adminEmail) echo "Опытный"; else if($author_count>=400 &&$jumlah_pengarang<800 && $comment_author_email !==$adminEmail) echo "Бывалый"; else if($author_count>=800 && $author_count<1200 && $comment_author_email !==$adminEmail) echo "СуперПупер"; else if($author_count>=1200 && $comment_author_email !==$adminEmail) echo "Profesor"; ) // menyesuaikan komentar if (! function_exists("wordsmall_comment")) : function wordsmall_comment($comment, $args, $depth) ( global $commentnumber; $GLOBALS["comment"] = $comment; switch ($comment- > comment_type) : case "pingback" : case "trackback" : ?>

    4. id="li-komentar-">
      %S", get_comment_author_link()); ?> comment_parent)( $comment_parent_href = htmlspecialchars(get_comment_link($comment->comment_parent)); $comment_parent = get_comment($comment->comment_parent); ?> @ Jawaban untuk:komentar_penulis;?>
      comment_parent) $avatar_size = 60; gema get_avatar($komentar, $avatar_size); ?> comment_author_email,$comment->user_id)?>
      comment_approved == "0") : ?>
      ", ""); ?> __("Balas", "wallpress"), "kedalaman" => $kedalaman, "kedalaman_maks" => $args["kedalaman_maks"]))); ?>

      Sekarang buka file comments.php, kita temukan fungsi untuk memanggil komentar di dalamnya. Terlihat seperti ini:

      Ubah ke yang ini:

        "wordsmall_comment")); ?>

      Langkah terakhir. Buka file style.css dan tambahkan gaya berikut di bagian akhir:

      My_commentlist( border-top:none; ) .my_commentlist .comment( padding:0 0 15px 0; border:none; ) .my_commentlist .pingback( padding:0 0 15px 0; border:none; ) .my_commentlist .comment .children ( list-style-type: none; padding:0px; margin-left:0px;/*if you need padding for tree com.set it to 15px*/ ) .my_commentlist .comment .children .comment( margin:15px 0 0 0 ; border: none; padding: 0; ) #comments ( background: #fff; ) #comments .my_commentlist ( margin: 10px 0; padding: 0; list-style:none; background: #ebf0f3; padding: 5px; ) # komentar .my_commentlist .comment ( margin:0; padding: 0 0 10px; background: #fff; ) #comments .my_commentlist .my_comment-author ( display: inline; border-right: 1px solid #e0e0e0; width: 100px; float: kiri; margin : 0px 15px 10px 0; ) #comments .my_commentlist .commentmetadata ( float:left; ) #comments .my_commentlist p ( clear:none; color: #555; font: 14px arial; line-height: 23px; ) # komentar .my_commentlist .comment-conte nt(margin-kiri: 116px; padding-kanan: 10px; ) #comments .my_commentlist .reply ( text-align:right; ) #comments .my_commentlist .reply a( background: #f5f5f5; border: 1px solid rgba(0, 0, 0, 0.06); border-radius: 2px; color : #515456; tampilan: inline-block; font-size: 13px; font-weight: normal; line-height: 30px; margin-right: 15px; min-height: 30px; padding: 0 12px; text-align: center ; dekorasi teks: tidak ada; ) .my_commentlist .avatar( border: medium none; border-radius: 50%; float: none; margin: 5px auto; padding: 0px; display: table; ) .my_commentlist .comment-header( height: 30px; background: #DEE5EB; margin-bottom: 15px; ) .my_commentlist cite.fn( color: #444; font: bold 13px/30px arial; padding-left: 10px; ) .my_commentlist .com_date ( color: # 8ca0b5; font: normal 13px/30px arial; float: kanan; padding-kanan: 15px; ) .my_commentlist .comment-body ( overflow: hidden; posisi: relatif; latar belakang:#fff; ) .my_commentlist .rep-authorcom ( color: #25394e; font-size: 13px; line-height: 30px; ) .my_commentlist .edit-link a ( background: none !important; border: none !important; border-radius: 0 !penting; warna: #999!penting; tampilan: blok-sebaris; ukuran font: 11px !penting; berat font: normal; tinggi baris: 30px; margin-kanan: 5px !penting; min-tinggi: 30px ; padding: 0 !important; text-align: center; text-decoration: none; ) .com_per ( border: medium none; color: #666; display: block; font-size: 11px; text-align: center; ) .vip1, .vip, .vp, .vip2, .vip3, .vip4, .vip5, .vip6, .vip7 (border: medium none; font: bold 13px arial; display: block; text-align: center; margin- bawah: 5px; dekorasi teks: tidak ada; ) .vp (warna: #e82e24;) .vip1 (warna: #348be8;) .vip2 (warna: #BE005E;) .vip3 (warna: #2e517e;) .vip4 ( warna: #658a18;) .vip5 (warna: #00A56D;) .vip6 (warna: #e35d28;) .vip7 (warna: #99A400;) .vip (warna: #4c5176; ukuran font: 11px; margin: 0 ;)

      Kode berfungsi penuh dan tidak menyebabkan kesalahan, tetapi perubahan kecil pada gaya CSS mungkin diperlukan.

      Halo teman teman! Vladimir Savelyev sedang menghubungi. Hari ini saya akan menunjukkan kepada Anda cara membuat, menyesuaikan, dan mendesain formulir komentar WordPress dengan indah, dengan dan tanpa plugin... Dan kami akan menganalisis pertanyaan yang sangat penting: Apakah komentar memengaruhi peringkat blog di mesin telusur? Tapi hal pertama yang pertama ...

      Pada artikel ini, saya akan membahas pertanyaan-pertanyaan berikut:

      • Bagaimana menyesuaikan formulir komentar WordPress untuk kebutuhan audiens;
      • Bagaimana menata komentar dengan baik dengan CSS;
      • Cara menyorot komentar penulis blog tanpa plugin;
      • Cara menjadikan diri Anda gravatar untuk menampilkan foto Anda saat berkomentar di blog Anda sendiri dan blog lain;
      • Plugin penting apa yang harus diinstal untuk modul komentar untuk menambah fungsionalitas;
      • Cara memasukkan emotikon ke dalam formulir komentar dan menggantinya dengan yang lebih orisinal;

      Faktanya adalah baru-baru ini saya sendiri, di blog saya, mengingat bentuk komentar wordpress dan mencari informasi yang diperlukan dan benar, saya butuh banyak waktu. Sekarang, jika saya menemukan artikel seperti itu, di mana hampir semua informasi dikumpulkan, saya akan menghemat banyak waktu, dan akan mencurahkan waktu ini untuk masalah yang lebih penting, bukan masalah teknis!

      Ngomong-ngomong, selamat atas salju pertamamu! Saya tidak tahu tentang Anda, tetapi di kota kami hari ini turun salju sepanjang hari, mengantisipasi Tahun Baru yang akan datang dan bau jeruk keprok =) Saya tidak punya waktu untuk menikmati musim panas yang lalu, saya selalu berbisnis dan bekerja, saya tidak memperhatikan bagaimana musim panas dan berlalu = (Baiklah, saya masih punya waktu untuk bersantai dan beristirahat. Seperti kata istri tercinta, saya akan beristirahat di masa pensiun!

      Oke, sekarang kita kembali ke topik!

      Mari kita mulai dengan bagaimana komentar WordPress mempengaruhi peringkat blog di mesin pencari?! Jawabannya jelas - ini pengaruh PF, yaitu faktor perilaku!

      Perhatikan sebuah contoh, ada dua blog, salah satunya memiliki form komentar wordpress, yang lainnya tidak! Pengunjung pergi ke blog, di mana dia membaca artikel yang menarik dan hanya itu, dia tidak mungkin kembali ke halaman materi lagi, apakah Anda setuju dengan saya?

      Dan di blog yang ada komentarnya, setelah membaca artikelnya, pengunjung juga akan membaca komentarnya, entah apa yang orang lain tulis tentang topik ini! Dan jika pengunjung juga bergabung dalam diskusi, maka umumnya akan sangat bagus =) Berapa kali dia akan membuka halaman ini untuk memeriksa apakah ada yang menjawabnya?!

      Ngomong-ngomong, saya menemukan satu sumber di mana percobaan dilakukan dengan dua blog, ada komentar di satu blog, dan bukan di blog lain. Jadi, blog yang dikomentari berhasil maju dan pengunjungnya bertambah, dibanding blog lain!

      Berkat komentar, waktu yang dihabiskan di blog bertambah, serta jumlah kunjungan langsung, sehingga meningkatkan kinerja situs atau blog, dan bukan itu saja kelebihannya!

      Cukup teori, mari beralih ke bagian praktis!

      Cara Menyesuaikan Formulir Komentar WordPress

      Nyatanya, menyiapkan modul komentar sangat sederhana dan tidak memakan banyak waktu. Yang perlu Anda lakukan hanyalah mencentang kotak tempat saya melakukannya! Ikuti instruksi dan Anda akan berhasil dengan cara terbaik!

      Cara mendesain formulir komentar dengan indah

      Pada tahap ini, Anda membutuhkan setidaknya pengetahuan dasar tentang css dan html. Jika Anda tidak memilikinya, lakukan dengan risiko Anda sendiri dan jangan lupa untuk menyimpan kode asli sebelum mengedit.

      Untuk mengubah desain komentar, Anda perlu menemukannya di pengaturan, Penampilan - Editor - Style sheet (style.css), seperti kode ini:

      Daftar komentar div.comment(background:#f6f6f6;margin-bottom:15px;padding:10px 10px 10px 80px;position:relative;border: 1px solid #bbb; border-radius: 8px;)

      Singkatnya, kami mencari semua gaya yang dimulai dengan komentar, dan ubah nilainya sesuai selera dan warna Anda. Bereksperimen!

      Cara menyorot komentar penulis tanpa plugin

      Mengapa ini dibutuhkan?! Yah, pertama-tama, ini memberi pengunjung gambaran tentang siapa penulis blog tersebut, di antara komentator lainnya! Ini juga akan memudahkan penulis blog untuk bernavigasi!

      Plugin akan membantu mengatasi masalah ini - Soroti Komentar Penulis, tetapi saya bukan pendukung plugin, karena sebagian besar plugin berdampak negatif pada blog! Oleh karena itu, jika memungkinkan, saya mencoba melakukan semuanya dalam kode, yang saya sarankan untuk Anda lakukan!

      Untuk mengimplementasikan fitur ini dengan kode tanpa plugin, Anda perlu menambahkan kelas gaya baru dengan login administrator blog di pengaturan: Penampilan - Editor - Stylesheet (style.css).

      Dalam kasus saya, kodenya terlihat seperti ini:

      Daftar komentar div.komentar-penulis- Login Anda di pintu masuk ke panel admin(warna latar:#f5f5e1!penting;margin-bottom:15px;padding:10px 10px 10px 80px;position:relative;border: 1px solid #bbb; border-radius: 8px;)

      Dan ubah desainnya, berbeda dari komentar lain! Semuanya sederhana!

      Untuk mencegah penyerang mengetahui login Anda yang sebenarnya, tulis kode di functions.php

      fungsi del_login_css($css) (
      foreach ($css as $key => $class) (
      if (strstr ($kelas, "LOGIN NYATA ANDA")) (
      $css[$key] = "DATANG DENGAN FIKSI"; ) )
      kembalikan $css;
      }
      add_filter("comment_class", "del_login_css");

      Cara membuat gravatar sendiri (foto di komentar)

      Jika Anda ingin foto Anda ditampilkan saat berkomentar di blog Anda sendiri atau blog lain, dan bukan gambar kosong, maka Anda perlu melakukan hal berikut. Daftar di https://ru.gravatar.com

      Kami mengisi semua bidang yang wajib diisi dan hanya itu! Sekarang foto Anda akan selalu bersama Anda, di mana Anda menentukan email yang dilampirkan gambar itu! Penting untuk mendaftar dengan email yang biasa Anda masukkan saat berkomentar.

      Plugin Komentar WordPress Penting

      Saya akan mencantumkan tiga plugin komentar utama yang saya miliki di blog saya. Saya sarankan Anda menginstalnya!

      • Pengalihan Komentar oleh Yoast - Komentar Pertama Terima kasih Plugin! Pertama, Anda perlu membuat halaman terima kasih dan memasukkan jalurnya di pengaturan plugin!
      • WordPress Zero Spam adalah captcha tak terlihat yang dirancang untuk melindungi dari spam, tidak mengganggu komentator untuk menyelesaikan contoh aritmatika, mereka hanya tidak melihatnya...
      • - berlangganan komentar. Prinsip operasi: pengunjung, setelah menulis komentar, dapat berlangganan pembaruan mereka, serta mengelola langganan.

      Emotikon dalam bentuk komentar wordpress

      Baca artikel cara membuat, serta cara mengganti emoticon standar dengan yang lain.

      Itu saja! Saya harap Anda berhasil mengatur semuanya, jika Anda tidak menemukan pertanyaan Anda tentang formulir komentar wordpress, silakan tulis komentar dan saya akan dengan senang hati menjawabnya! Jika Anda menyukai artikel ini, berlangganan pembaruan blog dan rekomendasikan ke teman Anda dengan mengeklik tombol jejaring sosial di bawah! Saya akan sangat berterima kasih! Sampai jumpa di artikel baru!


      Hormat kami, Vladimir Saveliev

      Pelajaran premium dari klub webformyself

      Ini adalah produk revolusioner baru di bidang pendidikan pembuatan situs web! Semua tutorial video terbaik dikumpulkan di satu tempat dan dibagi menjadi beberapa kategori: WordPress, Joomla, PHP, HTML, CSS, dan JavaScript... Basis data terus diperbarui dan sekarang ada lebih dari 200 pelajaran di dalamnya! Hanya dalam satu tahun - Anda bisa menjadi webmaster berpengalaman "dari nol"!

      Lagi

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

      Sebelum kami memulai manipulasi apa pun dengan kode, saya ingin memperingatkan Anda sebelumnya bahwa kami akan mengedit file WordPress itu sendiri, dan bukan file tema. Ya, itu mungkin tampak berbahaya bagi seseorang, tidak masuk akal bagi seseorang, seseorang tidak akan menyukainya :) Tapi saya melakukannya persis seperti itu dan saya tidak punya masalah. Saya menyarankan Anda untuk membuat cadangan file yang diedit sebelum memulai.
      Saya memperingatkan Anda tentang keamanan, sekarang saya ingin menunjukkan hasil yang saya datangi.


      Seperti yang bisa kita lihat, baris “Email Anda tidak akan dipublikasikan. Bidang yang wajib diisi ditandai *". Tidak perlu menganggap pengunjung sebagai orang bodoh yang tidak punya otak. Mereka mengerti apa yang perlu dilakukan dan apa yang tidak. Saya juga menyembunyikan nama bidang di dalam bidang itu sendiri. Apa posting gemuk itu? Sebagian besar pengunjung yang sudah tidak memiliki nama bidang dapat "dengan mata" menentukan milik mana. Tetapi petunjuk internal harus tetap ada. Nah, caption di kolom komentar sudah kehilangan keberanian yang tidak perlu. Menurut saya, ini menjadi jauh lebih baik dan lebih bebas.

      Jadi, mari kita lakukan perubahan segera! ;)
      Kami pergi ke folder situs kami dan menemukan file wp-includes/comment-template.php di dalamnya. Kami mencari garis 1522 di dalamnya, ya, ya, persis seperti itu. Bagaimana saya menemukannya sendiri adalah keseluruhan cerita, saya akan menceritakannya nanti :)
      Jadi, buka file untuk diedit dan buka baris 1522. Sekarang dia dan yang berikut (hingga 1529) adalah seperti ini:

      $bidang = array("penulis" => "

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

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

      " . "

      ",);

      Betapa sederhana dan jelas semuanya. Cukup dengan memotong semua yang tidak perlu dan menambahkan sedikit. Parameter akan ditambahkan

      Placeholder="Teks Petunjuk" !}

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

      "

      " "

      " "

      "

      Mari kita hapus baris:

      "

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

      "

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

      $bidang = array("penulis" => "

      ", "email" => "

      ", "url" => "

      ",);

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

      "komentar_catatan_sebelum" => "

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

      ",

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

      Berlangganan, komentar, saya akan senang untuk komentar yang memadai. Mungkin saya sendiri tidak mengetahui sesuatu dan Anda dapat melakukannya secara berbeda, bagikan pemikiran Anda.

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

      Langkah 1. Memahami fungsi comment_form dan argumennya

      Pertimbangkan fungsi comment_form WordPress. Ini bertanggung jawab untuk menampilkan formulir komentar yang ditampilkan di halaman atau posting. Panggilan ke fungsi ini terutama dapat ditemukan di file komentar.php dalam folder tema. File ini disertakan di berbagai tempat, misalnya di file tunggal.php Dan halaman.php, secara langsung atau melalui panggilan ke fungsi comments_template.

      Deskripsi fitur dapat ditemukan di codex WordPress.

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

      Beberapa argumen penting untuk fungsi comment_form :

      • bidang - dengan bantuannya Anda dapat mengontrol keluaran bidang dalam formulir komentar.
      • comment_notes_before dan comment_notes_after digunakan untuk menampilkan informasi sebelum dan sesudah form.
      • title_reply - digunakan untuk mengubah judul tanggapan, yang standarnya adalah 'Tinggalkan Balasan'.
      • label_kirim - digunakan untuk mengubah teks pada tombol kirim komentar.

      Langkah 2. Sesuaikan formulir komentar menggunakan fungsi form_komentar

      Sekarang mari sesuaikan 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 menggunakan daftar bidang berikut:

      $bidang = array("penulis" => "

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

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

      " . "

      ",);

      Jika kita perlu menghapus suatu bidang, misalnya website , kita hanya perlu mengecualikannya dari larik dan meneruskan larik ke fungsi comment_form .

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

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

      ", "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 label pada tombol menjadi 'Kirim Komentar Saya'.

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

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

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

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

      Formulir komentar sekarang akan terlihat seperti ini:

      Langkah 3 Menghapus bidang dari formulir dengan kail

      Juga formulir komentar WordPress dapat dimodifikasi dengan kait dan filter. Penyiapan ini bisa sangat berguna saat bekerja dengan plugin saat Anda perlu mengubah beberapa elemen tetapi tidak mengubah file tema. Filter untuk menambah atau menghapus bidang formulir - ' comment_form_default_fields '

      Mari hapus bidang alamat URL menggunakan filter. Kode di atas dapat digunakan dalam plugin atau file function.php topik aktif.

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

      Langkah 4: Menambahkan Data ke Formulir Komentar dengan sebuah 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["age"] = "

      " . "

      "; return $fields; ) add_filter("comment_form_default_fields","add_comment_fields");

      #respond label .comment-form-author, #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); kotak-bayangan: 1px 2px 2px rgba(204,204,204, 0.8); warna: #555; tampilan: blok-sebaris; ukuran font: 13px; kiri: 4px; lebar minimum: 60px; padding: 4px 10px; posisi: relatif; atas: 40px; indeks-z: 1; )

      Sekarang form komentar kita akan terlihat seperti ini:

      Umur sekarang 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 dalam komentar seperti ini:

      comment_ID, "umur", benar); ?>

      Langkah 5 Mengatur komentar untuk jenis posting tertentu

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

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

      " . "

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

      Langkah 6. Buat fungsi pengembalian untuk menampilkan komentar

      Fungsi wp_list_comments digunakan untuk menampilkan komentar pada postingan. Codex WordPress menjelaskan fitur secara detail.

      wp_list_comments memiliki argumen ' callback ' yang dapat digunakan untuk menentukan fungsi yang dipanggil saat komentar ditampilkan.

      Dalam tema Twenty Eleven di file komentar.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 posting.

      Langkah 7 Menata Komentar

      Sekarang kita akan sedikit mengubah gaya komentar. Kami hanya akan menampilkan konten posting dan kolom usia yang kami tambahkan sebelumnya. Kami juga akan mengubah warna latar belakang untuk komentar.

      Kode fungsi 'my_comments_callback':

      Fungsi my_comments_callback($comment, $args, $depth) ( $GLOBALS["comment"] = $comment; ?>

    5. id="li-komentar-">

      comment_ID, "umur", benar); ?>

      __("Balas ↓", "twentyeleven"), "kedalaman" => $kedalaman, "kedalaman_maks" => $args["kedalaman_maks"]))); ?>
    6. Ubah warna latar belakang seperti ini:

      Daftar komentar > li.comment ( background: #99ccff; border: 3px solid #ddd; -moz-border-radius: 3px; border-radius: 3px; margin: 0 0 1.625em; padding: 1.625em; position: relative; )



  • Memuat...
    Atas