Kā izveidot komentāru centrālās lapas veidni programmā WordPress

Viens no veidiem, kā palielināt apmeklētāju piesaisti, ir atlīdzināt par viņu komentāriem, parādot tos jūsu vietnē. Turklāt jūs varat iezīmēt arī labākos komentētājus, procesa laikā izveidojot saites uz viņu vietni. Šeit mēs izveidosim īpašu lapas veidni, lai šos komentārus un komentētājus parādītu vienuviet.


Īsi sakot, šī apmācība jums iemācīs:

  1. izveidot lapas veidni,
  2. izmantojiet SQL vaicājumus kodā, lai ielādētu komentārus ar mainīgiem parametriem,
  3. izveidojiet lapas sadaļu, kuru var redzēt tikai administrators,
  4. pievienojiet atbalstu komentāru spraudnim.

Lapas veidnes izveidošana

Vienkāršākais veids, kā izveidot lappuses veidni, ir motīvā atvērts page.php fails, kas aptuveni izskatās šādi:

<?php get_header (); ?>

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

<?php the_title (); ?>

<?php the_content (); ?>

<?php komentāri_template (); ?>
<?php galu galā; endif; ?>

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

Kopējiet un ielīmējiet page.php saturu un pievienojiet to visaugstākajā vietā:

<?php
/ *
Veidnes nosaukums: Komentāru centrālais
* /
?>

Un saglabājiet to. Nav reālu noteikumu par lapas veidnes faila nosaukšanu, taču ieteicams izmantot prefiksu, lai tas būtu atpazīstams, teiksim “pt-comment-central.php”. Mēs neko neesam pievienojuši šai lapas veidnei, bet tā ir izveidota un darbojas, un to var izvēlēties jaunās rakstīšanas lapas informācijas paneļa apgabalā..

Komentāru iegūšana

Šai lapas veidnei mēs raksturosim četrus dažādus komentāru aspektus:

  • Jaunākie komentāri,
  • Jaunākie dziesmu atgriezeniskās saites / labojumi,
  • Galvenie komentētāji,
  • Visvairāk komentētie ziņojumi,

Pirmkārt, mēs to darīsim Jaunākie komentāri:

Jaunākie komentāri

    <?php
    $ max = 7; // skaitļa vienība, kuru iegūt
    globālais $ wpdb;
    $ sql = "SELECT c. *, P.post_nosaukums no $ wpdb->komentāri c INNER JOIN $ wpdb->ziņas p ON (c.comment_post_id = p.ID) KUR komentārs apstiprināts = ‘1’ UN komentāra tips nav (‘trackback’, ‘pingback’) PASŪTĪJUMS comment_date DESC LIMIT $ max";
    $ rezultāti = $ wpdb->get_results ($ sql);

    $ template = ‘% g % an ieslēgts % pt‘;

    $ atbalsojās = 0;
    foreach ($ rezultāti kā $ rinda) {
    $ tags = masīvs (‘% ct’, ‘% cd’, ‘% g’, ‘% pt’, ‘% pu’, ‘% au’, ‘% an’, ‘% cid’);
    $ aizvietotāji = masīvs ($ rinda->komentāru_nosaukums, $ rinda->komentāru_datums, get_avatar ($ rinda->comment_author_email, ’32 ‘), $ rinda->post_title, get_permalink ($ rinda->komentāru_post_ID), $ rinda->comment_author_url, $ rinda->komentāru autors, $ rinda->komentārs_ID);
    atbalsojas ‘

  • ‘. str_replace ($ tagi, $ aizvietotāji, $ veidne). ‘
  • ‘;
    $ atbalsojās = 1;
    }
    if ($ atbalsojās == 0)
    atbalsojas ‘

  • Nav atrasts neviens komentārs.
  • ‘;
    ?>

SQL vaicājumā tiek prasīti visi apstiprinātie komentāri, kas sakārtoti pēc datuma (pēdējais pirmais). Maksimālajā USD vērtībā mēs nosakām saņemto komentāru daudzumu, mūsu gadījumā – 7. Iepriekš norādītais kods būs nesakārtots neseno komentāru saraksts:

Jaunāko komentāru saraksts

Ar nelielu CSS mēs to varam iztaisnot, lai izskatās labāk:

# cc-nesen-comments li {
platums: 100%;
pludiņš: pa kreisi;
saraksta stila tips: nav;
}

# cc-nesen-komentāri li img {
pludiņš: pa kreisi;
augšējā robeža: -5 pikseļi;
}

Jaunāko komentāru saraksts ar atbilstošu CSS

$ veidne nosaka, kā tiks uzrakstīts teksts; tas ir balstīts uz formātu, ko izveidojis WP komentārs Remix, un jūs varat sekot šai saitei, lai uzzinātu vairāk par tās pielāgošanu (meklējiet “marķierus”).

Nākamais ir Jaunākie Pingbacks / Trackback:

Jaunākie Pingbacks / Trackback

    <?php
    $ sql = "SELECT c. *, P.post_nosaukums no $ wpdb->komentāri c INNER JOIN $ wpdb->ziņas p ON (c.comment_post_id = p.ID) KUR komentārs apstiprināts = ‘1’ UN komentāra tips nav (‘trackback’, ‘pingback’)";
    $ rezultāti = $ wpdb->get_results ($ sql);

    $ template = ‘% g % an ieslēgts % pt‘;

    $ atbalsojās = 0;
    foreach ($ rezultāti kā $ rinda) {
    $ tags = masīvs (‘% ct’, ‘% cd’, ‘% g’, ‘% pt’, ‘% pu’, ‘% au’, ‘% an’, ‘% cid’);
    $ aizvietotāji = masīvs ($ rinda->komentāru_nosaukums, $ rinda->komentāru_datums, get_avatar ($ rinda->comment_author_email, ’32 ‘), $ rinda->post_title, get_permalink ($ rinda->komentāru_post_ID), $ rinda->comment_author_url, $ rinda->komentāru autors, $ rinda->komentārs_ID);
    atbalsojas ‘

  • ‘. str_replace ($ tagi, $ aizstājēji, $ veidne). ‘
  • ‘;
    $ atbalsojās = 1;
    }
    if ($ atbalsojās == 0)
    atbalsojas ‘

  • Nav atrasts neviens komentārs.
  • ‘;
    ?>

Iepriekš minētais kods ir ļoti līdzīgs tam, kāds mums ir jaunākajos komentāros, vienīgās atšķirības ir tas, ka mēs tagad pieprasām komentārus ar “comment_type” sadaļā “pingback” / “trackback”, un arī veidne ir nedaudz atšķirīga. Rezultāts:

Jaunāko Pingbacks un Trackbacks saraksts

Lūk, kods Galvenie komentētāji:

Galvenie komentētāji

    <?php
    $ sql = "SELECT comment_author, comment_author_url, comment_author_email, skaitīt (comment_ID) kā comment_count no $ wpdb->komentāri KUR komentāri apstiprināti = ‘1’ un komentāru tips nav (‘trackback’, ‘pingback’) GROUP BY komentāru autors, comment_author_url, komentāru_author_email pasūtījums komentāru skaits_ DESC LIMIT $ max";
    $ rezultāti = $ wpdb->get_results ($ sql);

    $ template = ‘% g% an (% c komentāru) ‘;

    $ atbalsojās = 0;
    foreach ($ rezultāti kā $ rinda) {
    $ tags = masīvs (‘% g’, ‘% au’, ‘% an’, ‘% c’);
    $ aizvietotāji = masīvs (get_avatar ($ rinda->comment_author_email, ’32 ‘), $ rinda->comment_author_url, $ rinda->komentāru autors, $ rinda->komentāru_skaits);
    atbalsojas ‘

  • ‘. str_replace ($ tagi, $ aizvietotāji, $ veidne). ‘
  • ‘;
    $ atbalsojās = 1;
    }
    if ($ atbalsojās == 0)
    atbalsojas ‘

  • Nav atrasts komentētājs.
  • ‘;
    ?>

Nekas tur pārāk prātīgs. Vai pamanāt vēsu get_avatar () tomēr tā sniegs Gravatar visiem, kuru e-pasta adresi norādījāt. Šajā gadījumā iemiesojam iemiesojuma attēlu, izmantojot komentētāja e-pasta adresi. Izmantojot CSS, kas līdzīga tai, kas mums ir nesenajos komentāros, mēs varam iegūt šādu rezultātu:

# cc-top-komentētāji li {
platums: 100%;
pludiņš: pa kreisi;
saraksta stila tips: nav;
}

# cc-top-komentētāji li img {
pludiņš: pa kreisi;
augšējā robeža: -5 pikseļi;
}

Labāko komentētāju saraksts

Pēdējais ir Visvairāk komentētie ziņojumi:

Visvairāk komentētie ziņojumi

    $ sql = "SELECT * *, c.comment_count FROM $ wpdb->ziņas p INNER JOIN (SELECT komentāra_pasta_id, skaitīt (comment_ID) kā comment_count no $ wpdb->komentāri KUR komentārs apstiprināts = ‘1’ GRUPA PĒC komentāra_post_id) c ON (c.comment_post_id = p.ID) PASŪTĪJUMS C.comment_count DESC LIMIT $ max";
    $ rezultāti = $ wpdb->get_results ($ sql);

    $ template = ‘% pt (% c komentāru) ‘;

    $ atbalsojās = 0;
    foreach ($ rezultāti kā $ rinda) {
    $ tags = masīvs (‘% pd’, ‘% pt’, ‘% pu’, ‘% c’);
    $ aizvietotāji = masīvs ($ rinda->post_date, $ rinda->post_title, get_permalink ($ rinda->ID), $ rinda->komentāru_skaits);
    atbalsojas ‘

  • ‘. str_replace ($ tagi, $ aizvietotāji, $ veidne). ‘
  • ‘;
    $ atbalsojās = 1;
    }
    if ($ atbalsojās == 0)
    atbalsojas ‘

  • Nav atrasts komentētājs.
  • ‘;
    ?>

Komentētāko ziņu saraksts

Un tas arī viss. Tālāk mēs pievienosim vēl dažas vēsmas, pievienojot dažas lietas, kuras var redzēt tikai administrators.

Tikai administratora informācija

Lai parādītu saturu tikai administratoriem, mēs varam izmantot šo koda fragmentu no WPCandy:

<?php
globālais $ user_ID;
if ($ user_ID):
if (current_user_can (‘level_10’)):
// šeit ir tikai administratora materiāli.
endif;
endif; ?>

Informācijas panelī ātri tiek apskatīts vietnes kopējais, apstiprinātais, gaidošais pārskats un komentāri par surogātpastu. Atkārtosim to mūsu lapas veidnei, lai būtu vieglāk piekļūt tikai administratoram:

<?php
$ num_comm = wp_count_comments ();
?>
Komentāru kopskaits: /wp-admin/edit-comments.php? “><?php atbalss $ num_comm->kopā_komentāri; ?>
Apstiprināts: /wp-admin/edit-comments.php?comment_status=apstiprināts “><?php atbalss $ num_comm->apstiprināts; ?>
Moderēts: /wp-admin/edit-comments.php?comment_status=moderated “><?php atbalss $ num_comm->moderēts; ?>
Spams: /wp-admin/edit-comments.php?comment_status=spam “><?php atbalss $ num_comm->spams; ?>

Administrators

wp_count_comments () ir veikls funkcija, kas atgriež masīvu dažādu komentāru stat numuru. Mēs pievienojam saites arī uz attiecīgo komentāru administrēšanas apgabalu.

Dažu dzirksteļu pievienošana

Visbeidzot, sakiet, ka atrodat foršus ar komentāriem saistītus spraudņus, kurus vēlaties iekļaut šajā lapas veidnē. Tā vietā, lai pievienotu vairāk kodus, pievienosim tam tikai atbalstu. Šajā piemērā es ņemšu līdzi Aktivitātes dzirksteles spraudnis, kas sānjoslā var “parādīt dzirkstošā” stila grafiku, norādot ziņas un / vai komentāru darbību. ”Man izklausās lieliski.

Parasti spraudņa readme.txt fails iemācīs, kā to pievienot motīvu failiem. Mūsu gadījumā kods var būt šāds:

<?php
if (function_exists (‘activitysparks’)) {
aktivitāšu parki (masīvs (‘datu kopa’ =>’leģenda’, ‘augstums_px’ =>100, ‘platums_px’ =>600, ‘periods’ =>30, ‘ērces’ =>24));
}
?>

Spraudnis ActivitySparks

funkcija_eksistē () pārbauda, ​​vai ir pieejama konkrēta funkcija; mūsu gadījumā funkcija actionparks, kas būs pieejama, ja spraudnis būs augšupielādēts un aktivizēts. Ja tas ir tur, mēs parādām diagrammu. Ja nē, tad mūsu lapas veidne neko nerādīs (taču tā joprojām darbosies labi, bez kļūdām).

Rezultāts un piemērs

Šīs lapas veidnes piemērs ir pieejams šeit. Tajā tiek izmantoti šeit redzamie kodi ar dažām modifikācijām, galvenokārt, lai HTML struktūra būtu saderīga ar pārējo tīmekļa vietni. Viss šīs lapas veidnes kods ir pieejams Pastebin.

Kredīti un turpmākie lasījumi

  • Kodi, kas tiek izmantoti dažādu neseno un galveno komentāru parādīšanai, ir ņemti no WP komentārs Remix iespraust. Apskatiet tā kodu, lai uzzinātu vairāk par komentāriem, piemēram, administratora komentāru izslēgšanu no labākajiem komentētājiem vai kā ņemt vērā tikai nesenos komentārus. $ Veidne, kuru mēs izmantojam izvades formatēšanai, arī šajā lapā var uzzināt vairāk.
  • Savas lapas veidnes izveidošana vietnē WordPress Codex.
  • Rāda tikai administratora satura apmācību vietnē 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