Jak utworzyć szablon strony głównej komentarzy w WordPress

Jednym ze sposobów na zwiększenie zaangażowania odwiedzających jest nagradzanie ich komentarzy poprzez prezentowanie ich w witrynie. Ponadto możesz również polecać najlepszych komentujących, łącząc z powrotem ich stronę internetową. Tutaj utworzymy dedykowany szablon strony, aby wyświetlać te komentarze i komentujących w jednym miejscu.


Krótko mówiąc, ten samouczek nauczy Cię, jak:

  1. utwórz szablon strony,
  2. użyj zapytań SQL w swoim kodzie, aby pobrać komentarze o różnych parametrach,
  3. utwórz sekcję strony widoczną tylko dla administratora,
  4. dodaj obsługę wtyczki związanej z komentarzami.

Tworzenie szablonu strony

Najłatwiejszym sposobem utworzenia szablonu strony jest otwarcie pliku page.php w kompozycji, który z grubsza będzie wyglądał następująco:

<?php get_header (); ?>

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

<?php the_title (); ?>

<?php the_content (); ?>

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

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

Skopiuj i wklej zawartość page.php i dodaj to na samą górę:

<?php
/ *
Nazwa szablonu: Komentarze Centralne
* /
?>

I zapisz to. Nie ma prawdziwych zasad nazywania pliku szablonu strony, ale dobrym pomysłem jest użycie przedrostka, aby był rozpoznawalny, powiedz „pt-comment-central.php”. Nie dodaliśmy niczego do tego szablonu strony, ale jest on gotowy do działania i można go wybrać w obszarze pisania nowego pulpitu nawigacyjnego strony.

Pobieranie komentarzy

W tym szablonie strony uwzględnimy cztery różne aspekty komentarzy:

  • ostatnie komentarze,
  • Najnowsze Trackbacki / Pingbacki,
  • Najlepsi komentatorzy,
  • Najczęściej komentowane posty,

Najpierw zrobimy ostatnie komentarze:

ostatnie komentarze

    <?php
    $ max = 7; // numer pozycji do zdobycia
    globalny $ wpdb;
    $ sql = "WYBIERZ c. *, P.post_title FROM $ wpdb->komentarze c WEWNĘTRZNE DOŁĄCZ $ wpdb->posty p ON (c.comment_post_id = p.ID) GDZIE comment_approved = ‘1’ ORAZ typ komentarza nie jest w (‘trackback’, ‘pingback’) ZAMÓW WEDŁUG comment_date DESC LIMIT";
    $ results = $ wpdb->get_results ($ sql);

    $ template = ‘% g %na na % pt„;

    $ echoed = 0;
    foreach ($ results as $ row) {
    $ tags = array (‘% ct’, ‘% cd’, ‘% g’, ‘% pt’, ‘% pu’, ‘% au’, ‘% an’, ‘% cid’);
    $ zamienniki = tablica ($ row->comment_title, $ row->comment_date, get_avatar ($ row->comment_author_email, ’32 ‘), $ row->post_title, get_permalink ($ row->comment_post_ID), $ row->comment_author_url, $ row->comment_author, $ row->comment_ID);
    Echo ‘

  • „. str_replace (tagi $, $ zamienniki, $ szablon). „
  • „;
    $ echo = 1;
    }
    if ($ echoed == 0)
    Echo ‘

  • Nie znaleziono komentarza.
  • „;
    ?>

Zapytanie SQL prosi o wszystkie zatwierdzone komentarze posortowane według daty (od najnowszej). $ max to miejsce, w którym ustalamy liczbę komentarzy, w naszym przypadku 7. Wynikiem powyższego kodu będzie nieuporządkowana lista ostatnich komentarzy:

Lista ostatnich komentarzy

Za pomocą małego CSS możemy to wyprostować, aby wyglądać lepiej:

# cc-niedawne-komentarze li {
szerokość: 100%;
float: left;
list-style-type: brak;
}

# cc-niedawne-komentarze li img {
float: left;
margines na górze: -5px;
}

Lista ostatnich komentarzy z odpowiednim CSS

$ szablon określa, jak zostanie napisany rzeczywisty tekst; jest to oparte na formacie wykonanym przez Remiks komentarza WP, i możesz kliknąć ten link, aby dowiedzieć się więcej na temat dostosowywania go (poszukaj „tokenów”).

Następne jest Najnowsze Pingbacki / Trackbacki:

Najnowsze Pingbacki / Trackbacki

    <?php
    $ sql = "WYBIERZ c. *, P.post_title FROM $ wpdb->komentarze c WEWNĘTRZNE DOŁĄCZ $ wpdb->posty p ON (c.comment_post_id = p.ID) GDZIE comment_approved = ‘1’ ORAZ typ komentarza nie jest w (‘trackback’, ‘pingback’) ZAMÓW WEDŁUG comment_date DESC LIMIT";
    $ results = $ wpdb->get_results ($ sql);

    $ template = ‘% g %na na % pt„;

    $ echoed = 0;
    foreach ($ results as $ row) {
    $ tags = array (‘% ct’, ‘% cd’, ‘% g’, ‘% pt’, ‘% pu’, ‘% au’, ‘% an’, ‘% cid’);
    $ zamienniki = tablica ($ row->comment_title, $ row->comment_date, get_avatar ($ row->comment_author_email, ’32 ‘), $ row->post_title, get_permalink ($ row->comment_post_ID), $ row->comment_author_url, $ row->comment_author, $ row->comment_ID);
    Echo ‘

  • „. str_replace (tagi $, $ zamienniki, $ szablon). „
  • „;
    $ echo = 1;
    }
    if ($ echoed == 0)
    Echo ‘

  • Nie znaleziono komentarza.
  • „;
    ?>

Powyższy kod jest bardzo podobny do tego, który mamy dla ostatnich komentarzy, jedyne różnice polegają na tym, że teraz prosimy o komentarze z „komentarz_typ” w „pingback” / „trackback”, a szablon jest nieco inny. Wynik:

Lista ostatnich Pingbacków i Trackbacków

Oto kod dla Najlepsi komentatorzy:

Najlepsi komentatorzy

    <?php
    $ sql = "WYBIERZ adres_autora_autora, adres_autora_autora, wiadomość_autora_autora, policz (identyfikator_komentarza) jako liczbę_komentarzy od $ wpdb->komentarze GDZIE comment_approved = „1” ORAZ typ komentarza nie jest w („trackback”, „pingback”) GRUPA WG komentarza autor_autor, komentarz_autor_url, komentarz_autor_email ZAMÓWIENIE WEDŁUG_księgów DESC LIMIT $ max";
    $ results = $ wpdb->get_results ($ sql);

    $ template = ‘% g% an (% c komentarze) ”;

    $ echoed = 0;
    foreach ($ results as $ row) {
    $ tags = tablica („% g”, „% au”, „% an”, „% c”);
    $ replaceements = array (get_avatar ($ row->comment_author_email, ’32 ‘), $ row->comment_author_url, $ row->comment_author, $ row->Liczba komentarzy);
    Echo ‘

  • „. str_replace (tagi $, $ zamienniki, $ szablon). „
  • „;
    $ echo = 1;
    }
    if ($ echoed == 0)
    Echo ‘

  • Nie znaleziono komentatora.
  • „;
    ?>

Nie ma w tym nic oszałamiającego. Zauważ fajne get_avatar () funkcja, która da ci Gravatar dla każdego, którego adres e-mail podasz. W takim przypadku pobieramy obraz awatara przy użyciu adresu e-mail komentującego. Dzięki CSS podobnemu do tego, który mamy dla ostatnich komentarzy, możemy uzyskać następujący wynik:

# cc-top-komentatorzy li {
szerokość: 100%;
float: left;
list-style-type: brak;
}

# cc-top-commenters li img {
float: left;
margines na górze: -5px;
}

Lista najlepszych komentujących

Ostatni jest Najczęściej komentowane posty:

Najczęściej komentowane posty

    $ sql = "WYBIERZ p. *, C.comment_count FROM $ wpdb->posty p WEJŚCIE DO WEWNĘTRZNEGO (WYBIERZ identyfikator_wpisu_wpis, policz (identyfikator_w komentarzu) jako licznik_w komentarzu z $ wpdb->komentarze GDZIE comment_approved = ‘1’ GROUP BY comment_post_id) c ON (c.comment_post_id = p.ID) ORDER BY c.comment_count DESC LIMIT $ max";
    $ results = $ wpdb->get_results ($ sql);

    $ template = ‘% pt (% c komentarze) ”;

    $ echoed = 0;
    foreach ($ results as $ row) {
    $ tags = array (‘% pd’, ‘% pt’, ‘% pu’, ‘% c’);
    $ zamienniki = tablica ($ row->post_date, $ row->post_title, get_permalink ($ row->ID), $ row->Liczba komentarzy);
    Echo ‘

  • „. str_replace (tagi $, $ zamienniki, $ szablon). „
  • „;
    $ echo = 1;
    }
    if ($ echoed == 0)
    Echo ‘

  • Nie znaleziono komentatora.
  • „;
    ?>

Lista najczęściej komentowanych postów

I to wszystko. Następnie dodamy trochę chłodu, dodając rzeczy, które może zobaczyć tylko administrator.

Informacje tylko dla administratora

Aby pokazać rzeczy tylko administratorom, możemy użyć tego fragmentu kodu z WPCandy:

<?php
globalny $ user_ID;
jeśli ($ ID_użytkownika):
if (current_user_can (‘level_10’)):
// rzeczy tylko dla administratorów tutaj.
endif;
endif; ?>

Teraz na pulpicie nawigacyjnym uzyskujemy szybki wgląd w całkowitą, zatwierdzoną, oczekującą na sprawdzenie opinię i komentarze dotyczące spamu w witrynie. Powtórzmy to dla naszego szablonu strony, aby uzyskać łatwiejszy dostęp tylko dla administratora:

<?php
$ num_comm = wp_count_comments ();
?>
Komentarze ogółem: /wp-admin/edit-comments.php? “><?echo php $ num_comm->komentarze ogółem; ?>
Zatwierdzony: /wp-admin/edit-comments.php?comment_status=approved “><?echo php $ num_comm->zatwierdzony; ?>
Moderowane: /wp-admin/edit-comments.php?comment_status=moderated “><?echo php $ num_comm->moderowane; ?>
Spam: /wp-admin/edit-comments.php?comment_status=spam “><?echo php $ num_comm->spam; ?>

Admin

wp_count_comments () to zgrabna funkcja, która zwraca tablicę różnych numerów statystyk komentarzy. Dodajemy również linki do odpowiedniego obszaru administrowania komentarzami.

Dodawanie niektórych iskier

Na koniec powiedz, że znajdziesz fajne wtyczki związane z komentarzami, które chcesz uwzględnić w tym szablonie strony. Zamiast dodawać więcej kodów, po prostu dodajmy obsługę. W tym przykładzie pójdę z Aktywność Iskry wtyczka, która może „wyświetlać wykres typu„ wykres przebiegu w czasie ”na pasku bocznym, wskazuje aktywność związaną z publikowaniem i / lub komentowaniem. ”Brzmi dla mnie wspaniale.

Zwykle plik readme.txt wtyczki nauczy Cię, jak dodać go do plików motywu. W naszym przypadku kod może wyglądać tak:

<?php
if (function_exists (‘activitysparks’)) {
activitysparks (array (‘dataset’ =>„legend”, „height_px” =>100, „width_px” =>600, „kropka” =>30, „tyki” =>24));
}
?>

Wtyczka ActivitySparks

function_exists () sprawdza, czy dana funkcja jest dostępna; w naszym przypadku funkcja Activitysparks, która będzie dostępna, jeśli wtyczka została załadowana i aktywowana. Jeśli tam jest, pokazujemy wykres. Jeśli nie, nasz szablon strony nic nie pokaże (ale nadal będzie działał dobrze, bez błędów).

Wynik i przykład

Przykładem tego szablonu strony jest dostępny tutaj. Wykorzystuje kody, które widzisz tutaj, z kilkoma modyfikacjami, głównie w celu utrzymania struktury HTML spójnej z resztą strony. Cały kod dla tego szablonu strony jest dostępny w Pastebin.

Kredyty i dalsze odczyty

  • Kody używane do wyświetlania różnych ostatnich i najważniejszych komentarzy pochodzą z Remiks komentarza WP podłącz. Zapoznaj się z jego kodem, aby dowiedzieć się więcej na temat komentarzy, takich jak wykluczanie komentarzy administratora od najlepszych komentujących lub jak brać pod uwagę tylko ostatnie komentarze. Szablon $, którego używamy do formatowania danych wyjściowych, można również dowiedzieć się więcej na tej stronie.
  • Tworzenie własnego szablonu strony w Kodeksie WordPress.
  • Wyświetlanie samouczka treści tylko dla administratora na 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