Cara Membuat Templat Halaman Tengah Komen di WordPress

Salah satu cara untuk meningkatkan penglibatan pengunjung adalah dengan memberi penghargaan kepada komen mereka dengan mempamerkannya di laman web anda. Selain itu, anda juga boleh menampilkan pengulas teratas juga, menghubungkan kembali ke laman web mereka dalam proses. Di sini kita akan membuat Templat Halaman khusus untuk memaparkan komen dan pengulas tersebut di satu tempat.


Ringkasnya, tutorial ini akan mengajar anda bagaimana:

  1. buat Templat Halaman,
  2. gunakan pertanyaan SQL dalam kod anda untuk mengambil komen dengan parameter yang berbeza-beza,
  3. buat bahagian Halaman yang hanya dapat dilihat oleh Pentadbir,
  4. tambahkan sokongan untuk pemalam yang berkaitan dengan komen.

Membuat Templat Halaman

Cara termudah untuk membuat Templat Halaman adalah dengan membuka fail page.php dalam tema anda, yang akan kelihatan seperti ini:

<?php get_header (); ?>

<?php if (has_posts ()): while (has_posts ()): the_post (); ?>

<?php the_title (); ?>

<?php the_content (); ?>

<?komen_template php (); ?>
<?php sementara; endif; ?>

<?php get_sidebar (); ?>
<?php get_footer (); ?>

Salin dan tampal kandungan page.php dan tambahkan ini ke bahagian paling atas:

<?php
/ *
Nama Templat: Pusat Komen
* /
?>

Dan simpanlah. Tidak ada peraturan nyata untuk menamakan fail Templat Halaman, tetapi ada baiknya menggunakan awalan untuk membuatnya dikenali, katakan “pt-comment-central.php”. Kami belum menambahkan apa-apa ke dalam Templat Halaman ini, tetapi sudah berjalan dan dapat dipilih di kawasan papan pemuka Halaman baru.

Mengambil Komen

Untuk Templat Halaman ini, kami akan memaparkan empat aspek komen yang berbeza:

  • Komen Terkini,
  • Trackbacks / Pingback Terkini,
  • Komen Teratas,
  • Catatan Paling Banyak Dikomen,

Pertama, kita akan lakukan Komen Terkini:

Komen Terkini

    <?php
    $ maks = 7; // nombor item untuk mendapatkan
    $ wpdb global;
    $ sql = "PILIH c. *, P.post_title DARI $ wpdb->komen c INNER SERTAI $ wpdb->jawatan p AKTIF (c.comment_post_id = p.ID) DI MANA komen_diluluskan = ‘1’ DAN jenis_komen tidak di (‘trackback’, ‘pingback’) ORDER BY comment_date DESC LIMIT $ max";
    $ hasil = $ wpdb->get_results ($ sql);

    $ templat = ‘% g % an pada % pt‘;

    $ bergema = 0;
    foreach (hasil $ sebagai $ baris) {
    $ tags = array (‘% ct’, ‘% cd’, ‘% g’, ‘% pt’, ‘% pu’, ‘% au’, ‘% an’, ‘% cid’);
    $ Replements = array ($ baris->komen_title, $ baris->comment_date, get_avatar ($ baris->comment_author_email, ’32 ‘), $ baris->post_title, get_permalink ($ baris->comment_post_ID), baris $->comment_author_url, $ baris->komen_author, $ baris->komen_ID);
    gema ‘

  • ‘. str_replace (tag $, penggantian $, templat $). ‘
  • ‘;
    $ bergema = 1;
    }
    jika ($ bergema == 0)
    gema ‘

  • Tiada komen dijumpai.
  • ‘;
    ?>

Pertanyaan SQL meminta semua komen yang diluluskan disusun mengikut tarikh (terkini pertama). $ max adalah tempat kami menetapkan jumlah komen yang akan diterima, 7 mengikut kes kami. Keluaran kod di atas akan menjadi senarai komen terkini yang tidak tersusun:

Senarai Komen Terkini

Dengan sedikit CSS kita dapat meluruskannya agar kelihatan lebih baik:

# cc-terkini-komen li {
lebar: 100%;
terapung: kiri;
senarai-gaya-jenis: tiada;
}

# cc-terkini-komen li img {
terapung: kiri;
margin-top: -5px;
}

Senarai Komen Terkini dengan CSS yang betul

templat $ menentukan bagaimana teks sebenar akan ditulis; ini berdasarkan format yang dibuat oleh Remix Komen WP, dan anda boleh mengikuti pautan tersebut untuk mengetahui lebih lanjut mengenai penyesuaiannya (cari ‘token’).

Seterusnya ialah Pingback / Trackback Terkini:

Pingback / Trackback Terkini

    <?php
    $ sql = "PILIH c. *, P.post_title DARI $ wpdb->komen c INNER SERTAI $ wpdb->jawatan p AKTIF (c.comment_post_id = p.ID) DI MANA komen_diluluskan = ‘1’ DAN jenis_komen tidak di (‘trackback’, ‘pingback’) ORDER BY comment_date DESC LIMIT $ max";
    $ hasil = $ wpdb->get_results ($ sql);

    $ templat = ‘% g % an pada % pt‘;

    $ bergema = 0;
    foreach (hasil $ sebagai $ baris) {
    $ tags = array (‘% ct’, ‘% cd’, ‘% g’, ‘% pt’, ‘% pu’, ‘% au’, ‘% an’, ‘% cid’);
    $ Replements = array ($ baris->komen_title, $ baris->comment_date, get_avatar ($ baris->comment_author_email, ’32 ‘), $ baris->post_title, get_permalink ($ baris->comment_post_ID), baris $->comment_author_url, $ baris->komen_author, $ baris->komen_ID);
    gema ‘

  • ‘. str_replace (tag $, penggantian $, templat $). ‘
  • ‘;
    $ bergema = 1;
    }
    jika ($ bergema == 0)
    gema ‘

  • Tiada komen dijumpai.
  • ‘;
    ?>

Kod di atas sangat mirip dengan yang kami ada untuk Komen Terkini, satu-satunya perbezaan ialah sekarang kami meminta komen dengan ‘comment_type’ di bawah ‘pingback’ / ‘trackback’, dan templatnya juga sedikit berbeza. Keputusan:

Senarai Pingback dan Trackback Terkini

Inilah kod untuk Komen Teratas:

Komen Teratas

    <?php
    $ sql = "PILIH comment_author, comment_author_url, comment_author_email, hitung (comment_ID) sebagai comment_count DARI $ wpdb->komen DI MANA comment_approved = ‘1’ AND type_type not in (‘trackback’, ‘pingback’) GROUP BY comment_author, comment_author_url, comment_author_email PESANAN OLEH comment_count DESC LIMIT $ max";
    $ hasil = $ wpdb->get_results ($ sql);

    $ templat = ‘% g% an (% c komen) ‘;

    $ bergema = 0;
    foreach (hasil $ sebagai $ baris) {
    $ tags = array (‘% g’, ‘% au’, ‘% an’, ‘% c’);
    $ Replements = array (get_avatar ($ baris->comment_author_email, ’32 ‘), $ baris->comment_author_url, $ baris->komen_author, $ baris->komen_kira);
    gema ‘

  • ‘. str_replace (tag $, penggantian $, templat $). ‘
  • ‘;
    $ bergema = 1;
    }
    jika ($ bergema == 0)
    gema ‘

  • Tidak ada pengulas yang dijumpai.
  • ‘;
    ?>

Tidak ada yang terlalu memeningkan di sana. Perhatikan sejuk get_avatar () fungsi, yang akan memberi anda Gravatar untuk sesiapa sahaja yang alamat e-mel anda tentukan. Dalam kes ini, kami mengambil gambar avatar menggunakan alamat e-mel pengulas. Dengan CSS yang serupa dengan yang kami ada untuk komen baru-baru ini, kami dapat hasilnya:

# cc-top-commenter li {
lebar: 100%;
terapung: kiri;
senarai-gaya-jenis: tiada;
}

# cc-top-commenters im im {
terapung: kiri;
margin-top: -5px;
}

Senarai Komen Teratas

Terakhir ialah Catatan Paling Banyak Dikomen:

Catatan Paling Banyak Dikomen

    $ sql = "PILIH hlm. *, C.comment_count DARI $ wpdb->jawatan p INNER GABUNG (PILIH komen_pos_id, hitung (comment_ID) sebagai komen_kira dari $ wpdb->komen DI MANA comment_approved = ‘1’ GROUP BY comment_post_id) c ON (c.comment_post_id = p.ID) ORDER BY c.comment_count DESC LIMIT $ max";
    $ hasil = $ wpdb->get_results ($ sql);

    $ templat = ‘% pt (% c komen) ‘;

    $ bergema = 0;
    foreach (hasil $ sebagai $ baris) {
    $ tags = array (‘% pd’, ‘% pt’, ‘% pu’, ‘% c’);
    $ Replements = array ($ baris->tarikh_ tarikh, baris $->post_title, get_permalink ($ baris->ID), $ baris->komen_kira);
    gema ‘

  • ‘. str_replace (tag $, penggantian $, templat $). ‘
  • ‘;
    $ bergema = 1;
    }
    jika ($ bergema == 0)
    gema ‘

  • Tidak ada pengulas yang dijumpai.
  • ‘;
    ?>

Senarai Catatan Paling Banyak Dikomen

Itu sahaja. Seterusnya, kami akan menambahkan kesegaran dengan menambahkan beberapa perkara yang hanya dapat dilihat oleh pentadbir.

Maklumat sahaja pentadbir

Untuk menunjukkan barang hanya untuk pentadbir, kami dapat menggunakan potongan kod ini dari WPCandy:

<?php
$ user_ID global;
jika ($ user_ID):
jika (current_user_can (‘level_10’)):
// barang sahaja admin di sini.
endif;
endif; ?>

Kini di Papan Pemuka, kami melihat sekilas keseluruhan tinjauan, komen yang disetujui, dan komen spam dari laman web. Mari replikasi ini untuk Templat Halaman kami untuk akses yang lebih mudah dan hanya admin:

<?php
$ num_comm = wp_count_comments ();
?>
Jumlah Komen: /wp-admin/edit-comments.php? “><?gema php $ num_comm->jumlah_komen; ?>
Diluluskan: /wp-admin/edit-comments.php?comment_status=approved “><?gema php $ num_comm->diluluskan; ?>
Moderasi: /wp-admin/edit-comments.php?comment_status=moderated “><?gema php $ num_comm->sederhana; ?>
Spam: /wp-admin/edit-comments.php?comment_status=spam “><?gema php $ num_comm->spam; ?>

Pentadbir

wp_count_comments () adalah fungsi yang kemas yang mengembalikan pelbagai nombor stat komen. Kami juga menambah pautan ke kawasan pentadbiran komen masing-masing.

Menambah Beberapa Percikan

Terakhir, katakan anda menjumpai plugin berkaitan komen yang menarik yang ingin anda masukkan ke dalam Templat Halaman ini. Daripada menambahkan lebih banyak kod, mari tambah sokongan untuknya. Untuk contoh ini, saya akan ikut Percikan Aktiviti plugin, yang dapat “memaparkan grafik gaya ‘sparkline’ di bar sisi anda menunjukkan aktiviti posting dan / atau komen. “Kedengarannya hebat bagi saya.

Biasanya, fail readme.txt pemalam akan mengajar anda cara menambahkannya ke dalam fail tema anda. Dalam kes kami, kodnya boleh seperti ini:

<?php
jika (function_exists (‘activitysparks’)) {
aktivitispark (array (‘dataset’ = =>’legenda’, ‘height_px’ =>100, ‘width_px’ =>600, ‘tempoh’ =>30, ‘kutu’ =>24));
}
?>

Plugin ActivitySparks

function_exists () memeriksa sama ada fungsi tertentu tersedia; dalam kes kami, fungsispark aktiviti, yang akan tersedia jika pemalam telah dimuat naik dan diaktifkan. Sekiranya ada di sana, kami menunjukkan grafik. Sekiranya tidak, Templat Halaman kami tidak akan menunjukkan apa-apa (tetapi tetap akan berjalan lancar, tidak ada kesalahan).

Hasil dan Contoh

Contoh Templat Halaman ini adalah terdapat di sini. Ia menggunakan kod yang anda lihat di sini dengan beberapa pengubahsuaian, kebanyakannya untuk memastikan struktur HTML tetap sama dengan laman web yang lain. Keseluruhan kod untuk Templat Halaman tersebut boleh didapati di Pastebin.

Kredit dan Bacaan Lanjut

  • Kod yang digunakan untuk memaparkan pelbagai komen terkini dan teratas diambil dari Remix Komen WP pasangkan. Lihat kodnya untuk mengetahui lebih banyak perkara yang berkaitan dengan komen, seperti mengecualikan komen pentadbir dari pengulas teratas atau cara mengambil kira komen baru-baru ini. Templat $ yang kami gunakan untuk memformat output juga dapat dipelajari lebih banyak dari halaman itu.
  • Membuat Templat Halaman Anda Sendiri di Codex WordPress.
  • Memaparkan tutorial kandungan pentadbir sahaja di WPCandy.
  • Jeffrey Wilson Administrator
    Sorry! The Author has not filled his profile.
    follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map