Advertisement
  1. Code
  2. WordPress

Terurai Rahasia WordPress' Comments.php File

Scroll to top
Read Time: 12 min

Indonesian (Bahasa Indonesia) translation by Tiara Nirmala (you can also view the original English article)

WordPress tampaknya menjadi di mana-mana hari ini, dan tidak heran dengan kemudahan penggunaan dan kemudahan kustomisasi. Dalam tutorial ini, saya akan membedah default WordPress theme comments.php struktur dan memberi Anda berbagai potongan kode untuk membuat menguliti Anda lebih mudah.

Untuk referensi, saya juga menyertakan sebuah meja kecil isi.

  1. PHP backend
  2. Jenderal kode
    1. Mencegah akses langsung comments.php
    2. Apakah password diperlukan?
  3. Menampilkan komentar
    1. Komentar dasar Templat Tag
    2. Hasil akhir
  4. Formulir komentar
    1. Sekilas pernyataan kondisional
    2. Memasukkan bentuk
  5. Beberapa trik sedikit
    1. Gravatars
    2. Komentar nomor
    3. Komentar link
    4. Mengedit komentar
    5. Bergantian warna untuk komentar
    6. Menampilkan Tag diperbolehkan
    7. Komentar RSS link
  6. Kesimpulan

1 Backend PHP.

Ini adalah kode PHP mentah yang membuat fungsi file comments.php Anda. Untuk pemula, ini mungkin terlihat menakutkan. Namun, jangan khawatir: dengan tutorial ini semuanya di file komentar Anda akan menjadi jernih!


2. umum kode

Mencegah akses langsung comments.php

Baris kode ini mencegah pengguna melihat comments.php oleh kecelakaan. Halaman ini dimaksudkan untuk dimasukkan dalam halaman posting, tidak secara terpisah. Anda dapat mempertimbangkan ini mengukur keamanan. Dalam pernyataan, Anda bisa memasukkan setiap pesan yang Anda ingin ditampilkan kepada orang yang melihat file comments.php, sebaiknya pernyataan mati.

Apakah password diperlukan?

Pernyataan ini (well, 2 sebenarnya, tapi lebih masuk akal jika Anda melihat mereka sebagai salah satu) cek apakah password diperlukan untuk Lihat posting. Jelas, jika Anda tidak memiliki password untuk Lihat posting, Anda juga dilarang untuk melihat komentar.

Jika pertama cek apakah ada satu set password. Kedua jika pernyataan memeriksa apakah ada cookie dengan password di tempat dan menampilkan pesan sesuai bila tidak ada. Anda dapat menyesuaikan pesan kesalahan dengan menempatkan apapun yang Anda pilih di dalam kedua jika pernyataan.


3. menampilkan komentar

Pernyataan kondisional pertama ini (jika ($ komentar)) memeriksa apakah ada komentar dan kemudian melewatinya dengan pernyataan foreach. Dalam pernyataan foreach, Anda akan melihat pernyataan bersyarat berikut: jika ($comment-> comment_approved == '0'). Ini akan memeriksa jika komentar telah disetujui, dan menunjukkan pesan jika belum disetujui.

Contoh ini akan menjadi potongan kode berikut.

Komentar dasar Templat Tag

Untuk membuat ini sepotong fungsional kode, Anda akan perlu menggunakan tag template WordPress menyediakan.

Template Tag Deskripsi
<? php comment_ID();? > ID komentar
<? php comment_author();? > penulis komentar
<? php comment_author_link();? > penulis komentar, dibungkus dengan link ke website-nya jika ia ditetapkan satu
<? php comment_type();? > jenis komentar; Pingback, pelacakan atau komentar
<? php comment_text();? > sebenarnya komentar
<? php comment_date();? > tanggal posting
<? php comment_time();? > waktu itu telah diposting

Hasil akhir

Memasukkan ini ke dalam comments.php akan memberi Anda daftar memerintahkan dengan komentar dan informasi yang diperlukan atau menampilkan pesan menyatakan bahwa tidak ada komentar.


4. Formulir Komentar

Apakah Anda masih mengikuti saya? Bagus! Kita sudah hampir kelar. Kita hanya perlu untuk memproses bentuk komentar... Oke, mungkin aku berbohong tentang hampir berada di sana. Formulir komentar benar-benar adalah salah satu bagian yang sulit comments.php seluruh kulit file.

Anda akan dibombardir dengan beberapa pernyataan bersyarat (login diperlukan, Anda login,...). Bagian ini adalah tempat paling awal skinners kesulitan yang paling: penempatan elemen form bisa mencegah bentuk dari bekerja sama sekali, tanpa memberikan PHP kesalahan tertentu.

Untuk memberikan wawasan ke dalam pernyataan bersyarat yang terlibat dalam bentuk komentar, saya akan pertama menjelaskan pernyataan-pernyataan, dan termasuk HTML kemudian menjelaskan mengapa hal itu harus menjadi mana.

Sekilas pernyataan kondisional

Pernyataan bersyarat pertama Anda menjumpai <? php if(comments_open()):? >. Ini pada dasarnya memeriksa jika komentar terbuka. Jelas, jika komentar ditutup, Anda tidak dapat mengirim komentar dan formulir komentar tidak diperlukan. Anda dapat menempatkan pesan yang Anda ingin ditampilkan jika komentar ditutup antara terakhir <? php lain:? > dan
<? php endif;? >.

Kedua pernyataan bersyarat (<? php if(get_option('comment_registration') &&! $user_ID):? >) cek apakah Anda perlu registred untuk mengirim komentar dan jika Anda login. Jika pernyataan bersyarat dipenuhi, skrip harus menampilkan link ke tempat di mana pengguna dapat log in. Jika registrasi tidak diperlukan atau Anda sudah masuk, script akan Lanjutkan dengan bagian lain dan menampilkan form.

Pernyataan bersyarat kami akhir kemudian memeriksa jika Anda login atau tidak. Jelas, jika Anda sudah masuk tidak ada gunanya untuk membuat Anda mengisi nama, email, dan website Anda lagi.

Memasukkan bentuk

Selamat, kita telah dibajak melalui semua pernyataan bersyarat dalam comments.php file. Sekarang, semua yang tersisa adalah untuk menambahkan formulir di sana.

Hal pertama yang saya dapat mendengar Anda berpikir adalah: mana sih bentuk akan mulai? Yah, Anda hanya perlu mengikuti akal. Pernyataan bersyarat kedua akan memeriksa apakah Anda harus masuk log atau tidak, untuk itu Anda harus menampilkan tidak ada bentuk sampai setelah pernyataan ini. Dengan demikian seluruh bentuk terletak di dalam pernyataan bersyarat.

Saya juga sudah dilemparkan dalam link ke halaman login, sama seperti aku menemukannya dalam default comments.php. Seperti saya katakan sebelumnya, pernyataan bersyarat terakhir memeriksa apakah Anda sedang login atau tidak. Jelas, nama, email dan website Field input hanya ditampilkan jika Anda belum masuk. Mari kita melemparkan mereka di sana!

Baik-baik saja! Kita sudah hampir kelar! Kita hanya perlu menambahkan beberapa baris kode seperti textarea dan tombol kirim. Ini pergi setelah pernyataan bersyarat yang terakhir, karena itu tidak relevan untuk elemen-elemen ini jika Anda login atau tidak.

Kode ini harus cukup jelas. Bidang textarea untuk komentar, tombol kirim, field input yang tersembunyi dengan komentar ID masa depan dan potongan PHP (<? do_action php ('comment_form', $post-> ID);? >) WordPress memerlukan untuk membuat fungsi formulir komentar.

Voila! Itu adalah semua orang! Anda sekarang punya file sepenuhnya siap comments.php Anda. Lihat file ini untuk mendapatkan semua kode PHP dan HTML yang diperlukan. Anda harus berakhir dengan ini (saya hanya diganti kulit default comments.php file dengan kita dan menambahkan beberapa minor styling itu.)

Comments previewComments previewComments preview

5. beberapa trik sedikit

Tentu saja, Anda sekarang hanya memiliki dasar comments.php file. Ada ton hal-hal yang dapat Anda lakukan untuk meningkatkan itu. Aku akan mencantumkan beberapa tips dan trik untuk membantu Anda di jalan.

Gravatars

WordPress 2.5, ada adalah WordPress template tag kustom untuk menanamkan gravatars. Hal menarik gravatar dari email pengunjung masuk ke. Kode untuk melakukan ini sangat sederhana.

Anda dapat mengganti $author_email dengan get_comment_author_email() bagus; fungsi, $size tinggi (dan lebar) avatar dan $default_avatar link ke gambar faavatar deult (ditampilkan ketika commenter memiliki gravatar tidak).

Masukkan kode ini di dalam setiap pengulangan yang menampilkan komentar. Keluaran adalah sebuah gambar dengan ukuran avatar dan avatar-$ kelas (di mana $size adalah ukuran yang Anda ditentukan). Dengan beberapa minor CSS mengedit, Anda bisa berakhir dengan sesuatu seperti ini:

Comment GravatarsComment GravatarsComment Gravatars

Komentar nomor

Saya sengaja meninggalkan header dalam file comments.php kami menciptakan kemudian, karena saya percaya mereka akan membuat untuk kelebihan kode dalam proses pembelajaran yang sulit cukup seperti itu. Jelas, saya tidak melupakan mereka meskipun.

Biasanya, orang yang memiliki judul yang menampilkan sesuatu yang mirip dengan "3 Komentar sejauh". Ini sangat mudah untuk mencapai berkat tag template WordPress menawarkan.

Hal ini cukup jelas: $zero_comments adalah teks untuk menampilkan saat ada tidak ada Komentar, $one_comment ketika ada satu komentar, dan $more_comments ketika ada beberapa komentar. Contoh kehidupan nyata akan seperti ini:

Saya menggunakan % untuk beberapa komentar, karena fungsi comments_number kemudian menggantikan % dengan jumlah komentar (2, 3,...)

Digunakan dalam file comments.php kami, Anda akan berakhir dengan sesuatu seperti ini:

Comment numbersComment numbersComment numbers

Untuk menampilkan link ke bagian komentar (dengan jumlah komentar yang menampilkan juga), Anda cukup gunakan kode berikut.

Parameter pertama 3 dalam fungsi ini adalah sama dengan fungsi comments_number di atas. $css_class adalah, tentunya, kelas css yang Anda berikan kepada <a>tag dan $comments_closed adalah teks yang harus ditampilkan ketika komentar ditutup.</a> Ketika menerapkan ini tema, ini adalah cara untuk menggunakannya.

Ini kemudian akan memberi Anda sebuah link dengan link komentar kelas

Mengedit komentar

Kadang-kadang Anda akan ingin segera edit komentar. Untungnya, dengan fungsi edit_comment_link, Anda dapat dengan mudah pergi ke halaman yang tepat untuk mengedit itu, daripada harus browse ke admin panel Anda akhirnya mencapai komentar itu. Penggunaan adalah seperti:

Anda harus menempatkan ini di dalam loop komentar foreach. Parameter cukup jelas: $link_text adalah jangkar teks untuk edit link, $before_link dan $after_link masing-masing adalah teks atau kode untuk menampilkan sebelum atau setelah link.

Ini benar-benar membuatnya mudah untuk mengubah komentar; Anda hanya bisa menambahkan link 'Edit' kecil informasi meta komentar Anda (hanya dapat dilihat oleh admin). Ini adalah apa yang dapat terlihat seperti:

Comment Edit LinkComment Edit LinkComment Edit Link

Bergantian warna untuk komentar

Mungkin bahwa Anda ingin memiliki alternating row warna untuk komentar Anda, untuk membuat pemisahan yang lebih jelas. Melakukan hal ini relatif mudah. Pertama, menambahkan kode berikut ke bagian atas halaman:

Kemudian tambahkan berikut dalam foreach loop (lagi). Anda hanya dapat mengganti<li id="comment-<?php comment_ID(); ?>">dengan ini:</li>

Ini akan memberikan setiap komentar alt kelas, sehingga membuat tidak mungkin untuk mengubah penampilan mereka melalui CSS.

Saya memutuskan untuk membuat sebuah fungsi untuk itu, untuk memiliki lebih sedikit kekacauan di file tema sebenarnya Anda. Anda bisa menambahkan definisi fungsi ke dalam file functions.php Anda jika Anda ingin, tapi lebih masuk akal, bagi saya, untuk memiliki itu di bagian atas halaman Anda.

Bergantian baris membuatnya lebih mudah untuk membedakan berbagai komentar; Setelah diimplementasikan Anda mungkin memiliki sesuatu seperti ini:

alternate color commentsalternate color commentsalternate color comments

Menampilkan Tag diperbolehkan

Untuk menampilkan kode yang pengunjung diperbolehkan untuk menggunakan dalam komentar mereka, hanya menggunakan potongan kecil ini.

Maka Anda hanya akan mendapatkan daftar tag yang diperbolehkan dalam komentar Anda, seperti ini:

allowed tagsallowed tagsallowed tags

Komentar RSS link

Untuk mendapatkan link ke RSS feed untuk komentar-komentar dari posting tertentu, hanya masukkan kode di bawah ini ke dalam file comments.php Anda di tempat di mana Anda ingin untuk menjadi.

Lalu dengan sederhana mengganti $link_test dengan anchor text untuk RSS link.

Hal ini dapat berguna jika Anda ingin memberi pengunjung kesempatan untuk berlangganan komentar feed untuk posting artikel atau blog tertentu. Anda dapat menerapkan seperti ini:

comments rss linkcomments rss linkcomments rss link

6. Kesimpulan

Saya harap Anda telah menikmati ini * ahem * sedikit artikel tentang menguliti file comments.php WordPress Anda. Anda bisa mendapatkan kode lengkap di sini, dengan trik aku menunjukkan termasuk di dalamnya:

  • Gravatars,
  • warna baris alternatif,
  • mengedit link,
  • Komentar rss link.

Jelas, link komentar tidak disertakan karena ini harus digunakan dalam loop.

Best of luck dalam WordPress Anda menguliti petualangan!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.