WordPress’te Yorumlar Orta Sayfa Şablonu Nasıl Oluşturulur

Ziyaretçi etkileşimlerini artırmanın bir yolu, yorumlarını web sitenizde göstererek ödüllendirmektir. Ayrıca, en iyi yorumcuları da öne çıkarabilir ve bu sırada web sitelerine geri dönebilirsiniz. Burada, bu yorumları ve yorumcuları tek bir yerde görüntülemek için özel bir Sayfa Şablonu oluşturacağız.


Kısacası, bu eğitim size nasıl yapılacağını öğretecektir:

  1. Sayfa Şablonu oluştur,
  2. değişken parametrelerle yorumları getirmek için kodunuzda SQL sorguları kullanın,
  3. Sayfanın yalnızca Yönetici tarafından görüntülenebilen bir bölümünü oluşturun,
  4. yorumla ilgili bir eklenti için destek ekleme.

Sayfa Şablonu Oluşturma

Sayfa Şablonu oluşturmanın en kolay yolu, temanızda kabaca şöyle görünecek olan page.php dosyasını açmaktır:

<?php get_header (); ?>

<?php if (have_posts ()): ise (have_posts ()): the_post (); ?>

<?php the_title (); ?>

<?php the_content (); ?>

<?php comments_template (); ?>
<?php endwhile; endif; ?>

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

Page.php’nin içeriğini kopyalayıp yapıştırın ve bunu en üste ekleyin:

<?php
/ *
Şablon Adı: Yorumlar Orta
* /
?>

Ve sakla. Sayfa Şablonu dosyasını adlandırmakla ilgili gerçek bir kural yoktur, ancak “pt-comment-central.php” deyince, tanınabilir olmasını sağlamak için bir önek kullanmak iyi bir fikirdir. Bu Sayfa Şablonuna hiçbir şey eklemedik, ancak çalışıyor ve çalışıyor ve yeni Sayfa kontrol paneli alanında seçilebilir.

Yorumlar getiriliyor

Bu Sayfa Şablonu için yorumların dört farklı yönünü ele alacağız:

  • Son Yorumlar,
  • Son Geri İzlemeler / Geri Bildirimler,
  • En İyi Yorum Yapanlar,
  • En Çok Yorumlanan Mesajlar,

İlk önce yapacağız Son Yorumlar:

Son Yorumlar

    <?php
    $ max = 7; // alınacak öğe sayısı
    global $ wpdb;
    $ sql = "SELECT c. *, P.post_title $ wpdb’den->yorumlar c INNER JOIN $ wpdb->posts p ON (c.comment_post_id = p.ID) NEREDE comment_approved = ‘1’ VE comment_type ((trackback ‘,’ pingback ‘) içinde değil ORDER BY comment_date DESC LIMIT $ max";
    $ results = $ wpdb->get_results ($ sql);

    $ şablonu = ‘% g % bir üzerinde % pt‘;

    $ echoed = 0;
    foreach ($ sonuçları $ satır olarak) {
    $ tags = dizi (‘% ct’, ‘% cd’, ‘% g’, ‘% pt’, ‘% pu’, ‘% au’, ‘% an’, ‘% cid’);
    $ replacements = dizi ($ satır->comment_title, $ satır->COMMENT_DATE, get_avatar ($ satır->comment_author_email, ’32’ ), $ satır->post_title, get_permalink ($ satır->comment_post_ID), $ satır->comment_author_url, $ satır->COMMENT_AUTHOR, $ satır->comment_ID);
    Eko ‘

  • ‘. str_replace ($ tags, $ replacements, $ şablon). ‘
  • ‘;
    $ echoed = 1;
    }
    eğer ($ echoed == 0)
    Eko ‘

  • Yorum bulunamadı.
  • ‘;
    ?>

SQL sorgusu, tarihe göre sıralanan onaylanan tüm yorumları ister (en sonuncusu). $ max alacağımız yorum miktarını ayarladığımız yerdir, bizim durumumuzda 7. Yukarıdaki kodun çıktısı, son yorumların sırasız bir listesi olacaktır:

Son Yorumların Listesi

Küçük bir CSS ile daha iyi görünmesi için bunu düzeltebiliriz:

# cc-latest-comments li {
genişlik:% 100;
şamandıra: sol;
liste stili tipi: yok;
}

# cc-latest-comments li img {
şamandıra: sol;
kenar boşluğu: -5 piksel;
}

Uygun CSS ile Son Yorumların Listesi

$ template asıl metnin nasıl yazılacağını belirler; bu, tarafından yapılan formata dayanır WP Yorum Remix, ve özelleştirmeyle ilgili daha fazla bilgi edinmek için bu bağlantıyı takip edebilirsiniz (“jetonlar” arayın).

Sıradaki Son Pingback’ler / Trackback’ler:

Son Pingback’ler / Trackback’ler

    <?php
    $ sql = "SELECT c. *, P.post_title $ wpdb’den->yorumlar c INNER JOIN $ wpdb->posts p ON (c.comment_post_id = p.ID) NEREDE comment_approved = ‘1’ VE comment_type ((trackback ‘,’ pingback ‘) içinde değil ORDER BY comment_date DESC LIMIT $ max";
    $ results = $ wpdb->get_results ($ sql);

    $ şablonu = ‘% g % bir üzerinde % pt‘;

    $ echoed = 0;
    foreach ($ sonuçları $ satır olarak) {
    $ tags = dizi (‘% ct’, ‘% cd’, ‘% g’, ‘% pt’, ‘% pu’, ‘% au’, ‘% an’, ‘% cid’);
    $ replacements = dizi ($ satır->comment_title, $ satır->COMMENT_DATE, get_avatar ($ satır->comment_author_email, ’32’ ), $ satır->post_title, get_permalink ($ satır->comment_post_ID), $ satır->comment_author_url, $ satır->COMMENT_AUTHOR, $ satır->comment_ID);
    Eko ‘

  • ‘. str_replace ($ tags, $ replacements, $ şablon). ‘
  • ‘;
    = 1 yankılandı, $;
    }
    eğer ($ echoed == 0)
    Eko ‘

  • Yorum bulunamadı.
  • ‘;
    ?>

Yukarıdaki kod, Son Yorumlar için olan kodla çok benzer, tek fark şu an ‘geri ping’ / ‘geri izleme’ altında ‘comment_type’ ile yorum istememiz ve şablon da biraz farklı. Sonuç:

Son Pingback ve Geri İzleme Listesi

İşte kodu En İyi Yorum Yapanlar:

En İyi Yorum Yapanlar

    <?php
    $ sql = "Comment_author, comment_author_url, comment_author_email, SELECT (comment_ID) comment_count olarak $ wpdb->comments WHERE comment_approved = ‘1’ VE comment_type (‘trackback’, ‘pingback’) içinde değil grup İLE comment_author, comment_author_url, comment_author_email ORDER BY comment_count DESC LIMIT $ max";
    $ results = $ wpdb->get_results ($ sql);

    $ template = ‘% g% bir (% c yorum) ‘;

    $ echoed = 0;
    foreach ($ sonuçları $ satır olarak) {
    $ tags = dizi (‘% g’, ‘% au’, ‘% an’, ‘% c’);
    $ replacements = dizi (get_avatar ($ row)->comment_author_email, ’32’ ), $ satır->comment_author_url, $ satır->COMMENT_AUTHOR, $ satır->Yorum sayısı);
    Eko ‘

  • ‘. str_replace ($ tags, $ replacements, $ şablon). ‘
  • ‘;
    $ echoed = 1;
    }
    eğer ($ echoed == 0)
    Eko ‘

  • Hiç yorumcu bulunamadı.
  • ‘;
    ?>

Orada çok akıl almaz bir şey yok. Serin dikkat edin get_avatar () işlevi, ancak, e-posta adresini belirttiğiniz herkes için Gravatar’ı verecektir. Bu durumda, yorumcunun e-posta adresini kullanarak avatar resmini getiririz. CSS, son yorumlar için olana benzer olduğunda, bu sonucu elde edebiliriz:

# cc-top-commenters li {
genişlik:% 100;
şamandıra: sol;
liste stili tipi: yok;
}

# cc-top-commenters li img {
şamandıra: sol;
kenar boşluğu: -5 piksel;
}

En Çok Yorum Yapanlar Listesi

Sonuncusu En Çok Yorumlanan Mesajlar:

En Çok Yorumlanan Mesajlar

    $ sql = "SEÇ s. *, C.comment_count $ wpdb’den->gönderiler p INNER JOIN (SELECT comment_post_id, sayı (comment_ID) $ wpdb’den comment_count olarak say->comments WHERE comment_approved = ‘1’ GROUP BY comment_post_id) c AÇIK (c.comment_post_id = p.ID) ORDER BY c.comment_count DESC LIMIT $ maks";
    $ results = $ wpdb->get_results ($ sql);

    $ template = ‘% pt (% c yorum) ‘;

    $ echoed = 0;
    foreach ($ sonuçları $ satır olarak) {
    $ tags = dizi (‘% pd’, ‘% pt’, ‘% pu’, ‘% c’);
    $ replacements = dizi ($ satır->POST_DATE, $ satır->post_title, get_permalink ($ satır->ID), $ satır->Yorum sayısı);
    Eko ‘

  • ‘. str_replace ($ tags, $ replacements, $ şablon). ‘
  • ‘;
    $ echoed = 1;
    }
    eğer ($ echoed == 0)
    Eko ‘

  • Hiç yorumcu bulunamadı.
  • ‘;
    ?>

En Çok Yorumlanan Yazının Listesi

Ve bu kadar. Ardından, yalnızca yöneticinin görebileceği bazı şeyler ekleyerek biraz daha serinlik katacağız.

Yalnızca yönetici bilgileri

Yalnızca yöneticiler için bir şeyler göstermek için WPCandy’den bu kod snippet’ini kullanabiliriz:

<?php
global $ user_ID;
eğer ($ user_ID):
eğer (current_user_can (‘seviye_10’)):
// burada yalnızca yönetici öğeleri.
endif;
endif; ?>

Şimdi Gösterge Tablosu’nda, bir sitenin toplam, onaylanmış, incelenmeyi bekleyen ve spam yorumlarına hızlı bir bakış sunuyoruz. Daha kolay ve yalnızca yönetici erişimi için bunu Sayfa Şablonumuz için çoğaltalım:

<?php
$ num_comm = wp_count_comments ();
?>
Toplam Yorum: /wp-admin/edit-comments.php? “><?php echo $ num_comm->TOTAL_COMMENTS; ?>
Onaylandı: > “/Wp-admin/edit-comments.php?comment_status=approved<?php echo $ num_comm->onaylandı; ?>
Sorumlu: > “/Wp-admin/edit-comments.php?comment_status=moderated<?php echo $ num_comm->yönetilir; ?>
İstenmeyen e: /wp-admin/edit-comments.php?comment_status=spam “><?php echo $ num_comm->istenmeyen e; ?>

yönetim

wp_count_comments (), çeşitli yorum durumu sayılarının bir dizisini döndüren düzgün bir işlevdir. İlgili yorum yönetimi alanına da bağlantılar ekliyoruz.

Bazı Kıvılcımlar Ekleme

Son olarak, bu Sayfa Şablonuna dahil etmek istediğiniz yorumla ilgili harika bir eklenti bulduğunuzu varsayalım. Daha fazla kod eklemek yerine, bunun için destek ekleyelim. Bu örnek için, Etkinlik Kıvılcımları kenar çubuğunuzda “mini grafik” stil grafiği görüntüleyebilen eklenti, yayın ve / veya yorum etkinliğini gösterir. ”Bana harika geliyor.

Genellikle, bir eklentinin readme.txt dosyası size tema dosyalarınıza nasıl ekleneceğini öğretir. Bizim durumumuzda, kod şöyle olabilir:

<?php
if (function_exists (‘activitysparks’)) {
activitysparks (dizi ( ‘kümesi’ =>’Gösterge’, ‘HEIGHT_PX’ =>100, ‘WIDTH_PX’ =>600, ‘dönemi’ =>30, ‘keneler’ =>24));
}
?>

ActivitySparks eklentisi

function_exists () belirli bir işlevin kullanılabilir olup olmadığını kontrol eder; bizim durumumuzda, eklenti yüklendiğinde ve etkinleştirildiğinde kullanılabilecek etkinlik kıvılcımları işlevi. Oradaysa grafiği gösteririz. Değilse, Sayfa Şablonumuz hiçbir şey göstermez (ancak yine de iyi çalışır, hata olmaz).

Sonuç ve Örnek

Bu Sayfa Şablonunun bir örneği burada mevcut. HTML yapısını web sitesinin geri kalanıyla tutarlı tutmak için burada gördüğünüz kodları birkaç değişiklikle kullanır. Söz konusu Sayfa Şablonunun tüm kodu Pastebin adresinde mevcuttur.

Krediler ve İleri Okumalar

  • Çeşitli yeni ve en iyi yorumları görüntülemek için kullanılan kodlar WP Yorum Remix Eklenti. En iyi yorum yapanların yönetici yorumlarını hariç tutma veya yalnızca son yorumları nasıl dikkate alacağınız gibi yorumlarla ilgili daha fazla şey öğrenmek için koduna göz atın. Çıktıyı biçimlendirmek için kullandığımız $ şablonu bu sayfadan da daha fazla öğrenilebilir.
  • Kendi Sayfa Şablonunuzu Oluşturma WordPress Kodeksi’nde.
  • Yalnızca yönetici içerik eğitimini görüntüleme WPCandy’de.
  • Jeffrey Wilson Administrator
    Sorry! The Author has not filled his profile.
    follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map