Kako stvoriti središnji predložak komentara u WordPressu

Jedan od načina za povećanje angažmana posjetitelja je nagrađivanje njihovih komentara tako što ćete ih prikazati na vašoj web stranici. Pored toga, također možete pronaći najbolje komentatore, povezujući se s njihovim web stranicama u procesu. Ovdje ćemo stvoriti namjenski predložak stranice za prikaz tih komentara i komentatora na jednom mjestu.


Ukratko, ovaj će vas vodič naučiti:

  1. stvorite predložak stranice,
  2. koristite SQL upite u vašem kodu za dohvaćanje komentara s različitim parametrima,
  3. stvorite odjeljak stranice koji samo vidi Admin,
  4. dodajte podršku za dodatak koji se odnosi na komentare.

Izrada predloška stranice

Najlakši način za stvaranje predloška stranice je otvaranje datoteke page.php u vašoj temi, koja će otprilike izgledati ovako:

<?php get_header (); ?>

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

<?php the_title (); ?>

<?php the_content (); ?>

<?php comments_template (); ?>
<?php krajnji; završi ako; ?>

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

Kopirajte i zalijepite sadržaj page.php i dodajte to na sam vrh:

<?pHP
/ *
Naziv predloška: Središnji komentari
* /
?>

I spremite. Ne postoje prava pravila o nazivu datoteke predloška stranice, ali dobro je krenuti s prefiksom kako biste ga učinili prepoznatljivim, recimo “pt-comment-central.php”. Nismo dodali ništa u ovaj predložak stranice, ali ono je pokrenuto i odabrano na pisanju novog područja nadzorne ploče stranice..

Dohvaćanje komentara

Za ovaj predložak stranice prikazat ćemo četiri različita aspekta komentara:

  • nedavni komentari,
  • Najnovije povratne poruke,
  • Najbolji komentatori,
  • Najkomentiraniji postovi,

Prvo ćemo učiniti nedavni komentari:

nedavni komentari

    <?pHP
    $ max = 7; // brojčana stavka koju treba dobiti
    globalni $ wpdb;
    $ sql = "ODABIR c. *, P.post_title OD $ wpdb->komentari c INNER JOIN $ wpdb->posts p ON (c.comment_post_id = p.ID) GDJE comment_approved = ‘1’ AND comment_type not in (‘trackback’, ‘pingback’) NARUČITE PO komentaru_date DESC LIMIT $ max";
    $ results = $ wpdb->get_results ($ sql);

    $ template = ‘% g % AN na % PT„;

    $ odjeknuo = 0;
    foreach ($ rezultati kao $ row) {
    $ tags = niz (‘% ct’, ‘% cd’, ‘% g’, ‘% pt’, ‘% pu’, ‘% au’, ‘% an’, ‘% cid’);
    $ zamjenji = niz ($ redak)->comment_title, $ red->COMMENT_DATE, get_avatar ($ row->comment_author_email, ’32’ ), $ red->POST_TITLE, get_permalink ($ row->comment_post_ID), $ red->comment_author_url, $ red->COMMENT_AUTHOR, $ red->comment_ID);
    jeka ‘

  • ‘. str_replace ($ oznake, $ zamjene, $ predložak). ‘
  • „;
    $ odjeknuo = 1;
    }
    ako je ($ odjeknuo == 0)
    jeka ‘

  • Nije pronađen komentar.
  • „;
    ?>

SQL upit traži sve odobrene komentare poredane po datumu (prvo najnovije). $ max je mjesto na kojem smo odredili količinu komentara, 7 u našem slučaju. Izlaz gornjeg koda predstavlja neuređeni popis nedavnih komentara:

Popis nedavnih komentara

Uz malo CSS-a to možemo ispraviti da izgleda bolje:

# cc-recent-komentari li {
širina: 100%;
plovak: lijevo;
list-style-type: nijedan;
}

# cc-recent-komentari li img {
plovak: lijevo;
margina-top: -5px;
}

Popis nedavnih komentara s odgovarajućim CSS-om

$ template određuje kako će se pisati stvarni tekst; ovo se temelji na formatu koji je napravio Remix komentara WP-a, a možete slijediti tu vezu da biste saznali više o prilagođavanju (potražite “tokene”).

Dalje je Nedavni pingback / povratne poruke:

Nedavni pingback / povratne poruke

    <?pHP
    $ sql = "ODABIR c. *, P.post_title OD $ wpdb->komentari c INNER JOIN $ wpdb->posts p ON (c.comment_post_id = p.ID) GDJE comment_approved = ‘1’ AND comment_type not in (‘trackback’, ‘pingback’) NARUČITE PO komentaru_date DESC LIMIT $ max";
    $ results = $ wpdb->get_results ($ sql);

    $ template = ‘% g % AN na % PT„;

    $ odjeknuo = 0;
    foreach ($ rezultati kao $ row) {
    $ tags = niz (‘% ct’, ‘% cd’, ‘% g’, ‘% pt’, ‘% pu’, ‘% au’, ‘% an’, ‘% cid’);
    $ zamjenji = niz ($ redak)->comment_title, $ red->COMMENT_DATE, get_avatar ($ row->comment_author_email, ’32’ ), $ red->POST_TITLE, get_permalink ($ row->comment_post_ID), $ red->comment_author_url, $ red->COMMENT_AUTHOR, $ red->comment_ID);
    jeka ‘

  • ‘. str_replace ($ oznake, $ zamjene, $ predložak). ‘
  • „;
    $ Ponovio = 1;
    }
    ako je ($ odjeknuo == 0)
    jeka ‘

  • Nije pronađen komentar.
  • „;
    ?>

Gornji kôd vrlo je sličan onome koji imamo za Nedavne komentare, samo što razlike tražimo od sad što tražimo komentare pod nazivom “comment_type” pod “pingback” / “trackback”, a predložak je malo drugačiji. Proizlaziti:

Popis nedavnih pingback-ova i povratnih veza

Evo kod za Najbolji komentatori:

Najbolji komentatori

    <?pHP
    $ sql = "SELECT comment_author, comment_author_url, comment_author_email, broji (comment_ID) kao comment_count OD $ wpdb->komentari GDJE comment_approved = ‘1’ AND type_type not in (‘trackback’, ‘pingback’) GRUPA BY comment_author, comment_author_url, comment_author_email NARUČITE PO comment_count DESC LIMIT $ max";
    $ results = $ wpdb->get_results ($ sql);

    $ template = ‘% g% an (% c komentara) ‘;

    $ odjeknuo = 0;
    foreach ($ rezultati kao $ row) {
    $ tags = niz (‘% g’, ‘% au’, ‘% an’, ‘% c’);
    $ zamjenji = niz (get_avatar ($ row)->comment_author_email, ’32’ ), $ red->comment_author_url, $ red->COMMENT_AUTHOR, $ red->COMMENT_COUNT);
    jeka ‘

  • ‘. str_replace ($ oznake, $ zamjene, $ predložak). ‘
  • „;
    $ odjeknuo = 1;
    }
    ako je ($ odjeknuo == 0)
    jeka ‘

  • Komentar nije pronađen.
  • „;
    ?>

Ništa previše ne smeta. Primijetite cool get_avatar () funkcija, koja će vam dati Gravatar za sve čiju adresu e-pošte navedete. U tom slučaju sliku slike dohvatimo pomoću adrese e-pošte komentatora. Rezultat je CSS sličan onome koji imamo za nedavne komentare:

# cc-top-commenters li {
širina: 100%;
plovak: lijevo;
list-style-type: nijedan;
}

# cc-top-commenters li img {
plovak: lijevo;
margina-top: -5px;
}

Popis najboljih komentatora

Posljednja je Najkomentiraniji postovi:

Najkomentiraniji postovi

    $ sql = "ODABIR str. *, C.comment_count OD $ wpdb->posts p INNER JOIN (SELECT comment_post_id, count (comment_ID) kao comment_count from $ wpdb->komentari GDJE comment_approved = ‘1’ GRUPA BY comment_post_id) c ON (c.comment_post_id = p.ID) NARUDŽBA PO c.comment_count DESC LIMIT $ max";
    $ results = $ wpdb->get_results ($ sql);

    $ template = ‘% PT (% c komentara) ‘;

    $ odjeknuo = 0;
    foreach ($ rezultati kao $ row) {
    $ tags = niz (‘% pd’, ‘% pt’, ‘% pu’, ‘% c’);
    $ zamjenji = niz ($ redak)->POST_DATE, $ red->POST_TITLE, get_permalink ($ row->ID), $ red->COMMENT_COUNT);
    jeka ‘

  • ‘. str_replace ($ oznake, $ zamjene, $ predložak). ‘
  • „;
    $ odjeknuo = 1;
    }
    ako je ($ odjeknuo == 0)
    jeka ‘

  • Komentar nije pronađen.
  • „;
    ?>

Popis najviše komentiranih postu

I to je to. Zatim ćemo dodati dodatnu svježinu dodavanjem nekih stvari koje samo administrator može vidjeti.

Informacije samo za administraciju

Za prikazivanje stvari samo za administratore možemo upotrijebiti ovaj isječak koda iz WPCandy:

<?pHP
globalni $ user_ID;
ako ($ user_ID):
ako (trenutni_uzer_can (‘razina_10’)):
// ovdje su dostupni samo administratori.
završi ako;
završi ako; ?>

Sada na nadzornoj ploči dobijamo brz pregled ukupnog, odobrenog web mjesta te čeka na pregled i neželjene komentare. Ponovimo ovo za naš predložak stranice radi lakšeg pristupa samo administratoru:

<?pHP
$ num_comm = wp_count_comments ();
?>
Ukupno komentara: /wp-admin/edit-comments.php? “><?php echo $ num_comm->TOTAL_COMMENTS; ?>
Odobren: /wp-admin/edit-comments.php?comment_status=approved “><?php echo $ num_comm->odobren; ?>
Moderirano: /wp-admin/edit-comments.php?comment_status=moderated “><?php echo $ num_comm->moderiran; ?>
spam: /wp-admin/edit-comments.php?comment_status=spam “><?php echo $ num_comm->spam; ?>

Admin

wp_count_comments () je uredna funkcija koja vraća niz različitih brojeva stat broja. Također dodajemo veze do odgovarajućeg područja administracije komentara.

Dodavanje nekih iskre

Na kraju, recite da ste pronašli cool dodatke koji se odnose na komentare koje želite uključiti u ovaj predložak stranice. Umjesto dodavanja dodatnih kodova, samo dodajmo podršku za to. Za ovaj primjer, poći ću s tim Iskre aktivnosti dodatak, koji može “prikazati grafikon stila” iskrište “na vašoj bočnoj traci, naznačiti aktivnost posta i / ili komentara. “Zvuči mi sjajno.

Datoteka readme.txt datoteke dodatka će vas naučiti kako je dodati u datoteke s temama. U našem slučaju kôd može biti ovako:

<?pHP
ako (function_exists (‘activitysparks’)) {
activitysparks (polje ( ‘skup podataka’ =>’legenda’, ” = HEIGHT_PX>100, ‘WIDTH_PX’ =>600, ‘period’ =>30, ‘krpelji’ =>24));
}
?>

ActivitySparks dodatak

function_exists () provjerava je li određena funkcija dostupna; u našem slučaju radna iskri funkcionira, koja će biti dostupna ako je dodatak učitan i aktiviran. Ako je tamo, prikazujemo graf. Ako ne, onda naš predložak stranice neće pokazati ništa (ali i dalje će se pokrenuti, bez grešaka).

Rezultat i primjer

Primjer ovog predloška stranice je dostupno ovdje. Koristi kodove koje ovdje vidite s nekoliko izmjena, uglavnom radi održavanja HTML strukture u skladu s ostatkom web mjesta. Cijeli kod za predložak stranice je dostupan na Pastebin.

Zasluge i daljnja čitanja

  • Kodovi koji se koriste za prikaz raznih nedavnih i gornjih komentara preuzeti su Remix komentara WP-a uključiti. Pogledajte njegov kôd da biste saznali više stvari koje se odnose na komentare, poput isključivanja komentara administratora od najboljih komentatora ili kako uzeti u obzir samo nedavne komentare. Predložak $ koji koristimo za oblikovanje izlaza može se saznati više i na toj stranici.
  • Izrada vlastitog predloška stranice na WordPress kodeksu.
  • Prikazivanje udžbenika samo za administraciju 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