Cum să creezi un șablon de pagini cu comentarii în WordPress

O modalitate de a crește angajamentele vizitatorilor este să le răsplătiți comentariile prezentându-le pe site-ul dvs. web. În plus, puteți de asemenea să prezentați cei mai buni comentatori, legându-vă înapoi la site-ul lor web în acest proces. Aici vom crea un șablon de pagină dedicat pentru a afișa acele comentarii și comentatori într-un singur loc.


Pe scurt, acest tutorial vă va învăța cum să:

  1. creați un șablon de pagină,
  2. utilizați interogări SQL din codul dvs. pentru a obține comentarii cu parametri diferiți,
  3. creați o secțiune a paginii care poate fi vizualizată numai de către administrator,
  4. adăugați suport pentru un plugin legat de comentarii.

Crearea unui șablon de pagină

Cel mai simplu mod de a crea un șablon de pagină este să deschideți fișierul page.php în tema dvs., care va arăta astfel:

<?php get_header (); ?>

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

<?php the_title (); ?>

<?php the_content (); ?>

<?php Comments_template (); ?>
<?php în sfârșit; endif; ?>

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

Copiați și lipiți conținutul paginii.php și adăugați acest lucru chiar în partea de sus:

<?php
/ *
Nume șablon: Comentarii centrale
* /
?>

Și salvează-l. Nu există reguli reale privind denumirea unui fișier șablon de pagină, dar este bine să mergeți cu un prefix pentru a-l face recunoscut, spuneți „pt-comment-central.php”. Nu am adăugat nimic în acest șablon de pagină, dar este în funcțiune și poate fi selectat în noua zonă de bord pentru a scrie pagina..

Obținerea de comentarii

Pentru acest șablon de pagină, vom prezenta patru aspecte diferite ale comentariilor:

  • Comentarii recente,
  • Trackbacks / Pingbacks recente,
  • Comentatorii de top,
  • Cele mai comentate postări,

În primul rând, o vom face Comentarii recente:

Comentarii recente

    <?php
    $ max = 7; // articol numărul pentru a obține
    global $ wpdb;
    $ sql = "SELECT c. *, P.post_title FROM $ wpdb->comentarii c INNER JOIN $ wpdb->postări p ON (c.comment_post_id = p.ID) WHERE comment_approved = ‘1’ AND comment_type not in (‘trackback’, ‘pingback’) ORDER BY comment_date DESC LIMIT $ max";
    $ rezultate = $ wpdb->get_results ($ sql);

    $ template = ‘% g %un pe % pt„;

    $ ecou = 0;
    foreach ($ rezultate ca $ rând) {
    $ tags = array (‘% ct’, ‘% cd’, ‘% g’, ‘% pt’, ‘% pu’, ‘% au’, ‘% an’, ‘% cid’);
    $ înlocuitori = array ($ rând->comment_title, $ rândul->COMMENT_DATE, get_avatar ($ row->comment_author_email, ’32’ ), $ rândul->POST_TITLE, get_permalink ($ row->comment_post_ID), $ row->comment_author_url, $ rândul->COMMENT_AUTHOR, $ rândul->comment_ID);
    ecou ‘

  • ‘. str_replace (etichete $, înlocuitori $, șablon $). ‘
  • „;
    $ ecou = 1;
    }
    if ($ ecou == 0)
    ecou ‘

  • Nu a fost găsit niciun comentariu.
  • „;
    ?>

Interogarea SQL solicită toate comentariile aprobate sortate după dată (ultima dată). $ max este locul în care stabilim cantitatea de comentarii pe care trebuie să le primim, 7 în cazul nostru. Ieșirea codului de mai sus va fi o listă neordonată de comentarii recente:

Lista comentariilor recente

Cu puțin CSS, putem îndrepta asta pentru a arăta mai bine:

# cc-recent-comentarii li {
latime: 100%;
plutește la stânga;
listă-tip-stil: nici unul;
}

# cc-recent-comentarii li img {
plutește la stânga;
marginea de sus: -5px;
}

Lista comentariilor recente cu CSS adecvat

$ template determină modul în care va fi scris textul propriu-zis; aceasta se bazează pe formatul realizat de WP Comment Remix, și puteți urmări acel link pentru a afla mai multe despre personalizarea acestuia (căutați „jetoane”).

Următorul este Pingbacks / Trackbacks recente:

Pingbacks / Trackbacks recente

    <?php
    $ sql = "SELECT c. *, P.post_title FROM $ wpdb->comentarii c INNER JOIN $ wpdb->postări p ON (c.comment_post_id = p.ID) WHERE comment_approved = ‘1’ AND comment_type not in (‘trackback’, ‘pingback’) ORDER BY comment_date DESC LIMIT $ max";
    $ rezultate = $ wpdb->get_results ($ sql);

    $ template = ‘% g %un pe % pt„;

    $ ecou = 0;
    foreach ($ rezultate ca $ rând) {
    $ tags = array (‘% ct’, ‘% cd’, ‘% g’, ‘% pt’, ‘% pu’, ‘% au’, ‘% an’, ‘% cid’);
    $ înlocuitori = array ($ rând->comment_title, $ rândul->COMMENT_DATE, get_avatar ($ row->comment_author_email, ’32’ ), $ rândul->POST_TITLE, get_permalink ($ row->comment_post_ID), $ row->comment_author_url, $ rândul->COMMENT_AUTHOR, $ rândul->comment_ID);
    ecou ‘

  • ‘. str_replace (etichete $, înlocuitori $, șablon $). ‘
  • „;
    $ A repetat = 1;
    }
    if ($ ecou == 0)
    ecou ‘

  • Nu a fost găsit niciun comentariu.
  • „;
    ?>

Codul de mai sus este foarte similar cu cel pe care îl avem pentru Comentarii recente, singurele diferențe fiind faptul că acum solicităm comentarii cu „comment_type” în „pingback” / „trackback”, iar șablonul este și el diferit. Rezultat:

Listă de Pingbacks și Trackbacks recente

Iată codul pentru Comentatorii de top:

Comentatorii de top

    <?php
    $ sql = "SELECT comment_author, comment_author_url, comment_author_email, count (comment_ID) as comment_count FROM $ wpdb->comentarii WHERE comment_approved = “1” AND comment_type not in (“trackback”, “pingback”)";
    $ rezultate = $ wpdb->get_results ($ sql);

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

    $ ecou = 0;
    foreach ($ rezultate ca $ rând) {
    $ tags = array (‘% g’, ‘% au’, ‘% an’, ‘% c’);
    $ substituties = array (get_avatar (rând $)->comment_author_email, ’32’ ), $ rândul->comment_author_url, $ rândul->COMMENT_AUTHOR, $ rândul->COMMENT_COUNT);
    ecou ‘

  • ‘. str_replace (etichete $, înlocuitori $, șablon $). ‘
  • „;
    $ ecou = 1;
    }
    if ($ ecou == 0)
    ecou ‘

  • Nu a fost găsit niciun comentator.
  • „;
    ?>

Nimic prea suflant acolo. Observați misto get_avatar () funcția, însă, care vă va oferi Gravatar pentru oricine a cărui adresă de e-mail specificați. În acest caz, preluăm imaginea avatarului folosind adresa de e-mail a comentatorului. Cu CSS similar cu cel pe care îl avem pentru comentariile recente, putem avea acest rezultat:

# cc-top-commenters li {
latime: 100%;
plutește la stânga;
listă-tip-stil: nici unul;
}

# cc-top-commenters li img {
plutește la stânga;
marginea de sus: -5px;
}

Lista celor mai buni comentatori

Ultima este Cele mai comentate postări:

Cele mai comentate postări

    $ sql = "SELECT p. *, C.comment_count FROM $ wpdb->postări p INNER JOIN (SELECTĂ comentariu_post_id, numără (comentariu_ID) ca comentariu_count de la $ wpdb->comentarii WHERE comment_approved = ‘1’ GROUP BY comment_post_id) c ON (c.comment_post_id = p.ID) COMANDA DE c.comment_count DESC LIMIT $ max";
    $ rezultate = $ wpdb->get_results ($ sql);

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

    $ ecou = 0;
    foreach ($ rezultate ca $ rând) {
    $ tags = array (‘% pd’, ‘% pt’, ‘% pu’, ‘% c’);
    $ înlocuitori = array ($ rând->POST_DATE, $ rândul->POST_TITLE, get_permalink ($ row->ID), $ row->COMMENT_COUNT);
    ecou ‘

  • ‘. str_replace (etichete $, înlocuitori $, șablon $). ‘
  • „;
    $ ecou = 1;
    }
    if ($ ecou == 0)
    ecou ‘

  • Nu a fost găsit niciun comentator.
  • „;
    ?>

Lista celor mai comentate postări

Si asta e. În continuare, vom adăuga mai multă răcoare adăugând câteva lucruri pe care doar administratorul le poate vedea.

Informații numai pentru administrator

Pentru a arăta lucrurile doar pentru admins, putem utiliza acest fragment de cod de la WPCandy:

<?php
global $ user_ID;
dacă ($ user_ID):
if (current_user_can (‘level_10’)):
// chestii numai admin aici.
endif;
endif; ?>

Acum, pe tabloul de bord, obținem o scurtă privire asupra comentariilor totale, aprobate, în așteptare și a mesajelor spam. Să reproducem acest lucru pentru șablonul nostru de pagini pentru un acces mai simplu și numai pentru admin:

<?php
$ num_comm = wp_count_comments ();
?>
Comentarii totale: /wp-admin/edit-comments.php? “><?php echo $ num_comm->TOTAL_COMMENTS; ?>
Aprobat: /wp-admin/edit-comments.php?comment_status=approved “><?php echo $ num_comm->aprobat; ?>
moderat: /wp-admin/edit-comments.php?comment_status=moderated “><?php echo $ num_comm->moderat; ?>
Spam: /wp-admin/edit-comments.php?comment_status=spam “><?php echo $ num_comm->spam; ?>

admin

wp_count_comments () este o funcție îngrijită care returnează o serie de numere de statistici pentru comentarii. Adăugăm legături și la zona respectivă de administrare a comentariilor.

Adăugarea unor scântei

În cele din urmă, spuneți că găsiți un plugin de legătură cu comentariile pe care doriți să le încorporați în acest șablon de pagină. În loc să adăugăm mai multe coduri, adăugăm doar suport pentru el. Pentru acest exemplu, voi merge cu Scântei de activitate pluginul, care poate „afișa un grafic de stil„ sparkline ”în bara laterală, indică activitate postare și / sau comentariu. Mi se pare grozav.

De obicei, fișierul readme.txt al unui plugin vă va învăța cum să îl adăugați în fișierele dvs. tematice. În cazul nostru, codul poate fi astfel:

<?php
if (function_exists (‘activitățiparks’)) {
activitysparks (array ( ‘date CCD’ =>= ‘Legenda’, ” HEIGHT_PX>100, ‘WIDTH_PX’ =>600, ‘perioadă’ =>30, „căpușe” =>24));
}
?>

Plugin ActivitySparks

function_exists () verifică dacă este disponibilă o anumită funcție; în cazul nostru, funcția activitățiparks, care va fi disponibilă dacă pluginul a fost încărcat și activat. Dacă este acolo, afișăm graficul. Dacă nu, atunci șablonul nostru de pagină nu va arăta nimic (dar va funcționa în continuare bine, fără erori).

Rezultat și Exemplu

Un exemplu de acest șablon de pagină este disponibil aici. Utilizează codurile pe care le vedeți aici cu câteva modificări, în mare parte pentru a menține structura HTML în concordanță cu restul site-ului. Întregul cod pentru acel șablon de pagină este disponibil la Pastebin.

Credite și lecturi ulterioare

  • Codurile utilizate pentru afișarea diverselor comentarii recente și de top sunt preluate WP Comment Remix conecteaza. Aruncați o privire la codul său pentru a afla mai multe lucruri de făcut cu comentariile, cum ar fi excluderea comentariilor admin din comentarii de top sau cum să luați în considerare doar comentariile recente. Șablonul $ pe care îl utilizăm pentru formatarea ieșirii poate fi aflat mai mult de la această pagină.
  • Crearea propriului șablon de pagină pe Codul WordPress.
  • Afișare tutorial de conținut numai pentru admin pe 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