Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress

Pagbubunyag ng mga Lihim ng Comments.php File ng WordPress

by
Read Time:13 minsLanguages:

Tagalog (Wikang Tagalog) translation by Anna Nelson (you can also view the original English article)

Matatagpuan na ngayon halos kahit saan ang WordPress, at hindi ito nakakagulat dahil sa dali nito gamitin at i-customize. Sa pagtuturong ito, hihimayin natin ang default na istruktura ng comments.php ng tema ng WordPress at ibibigay sa inyo ang sari-saring snippets ng code upang mas mapadali ang iyong skinning.

Para sa iyong reference, nagsama rin ako ng isang munting table of contents.

  1. Ang backend ng PHP
  2. Pangkalahatang code
    1. Pag-iwas sa tuwirang access sa comments.php
    2. Kailangan ba ang password?
  3. Pagdidisplay ng mga comments
    1. Mga payak na template tags para sa pagkokomento
    2. Ang panghuling resulta
  4. Ang comment form
    1. Panimula sa conditional statement
    2. Pagpasok ng form
  5. Ilang mga munting daya
    1. Mga Gravatars
    2. Bilang ng mga komento
    3. Mga links sa mga komento
    4. Pag-eedit ng mga komento
    5. Pagsasalit-salit ng mga kulay para sa mga komento
    6. Pagdi-display ng mga pinapayagang mga tags
    7. RSS link ng mga komento
  6. Konklusyon

1. Ang backend ng PHP

Narito ang raw PHP code na bubuo sa iyong comments.php file function. Sa isang baguhan, maaaring ito’y nakaktakot. Gayunpaman, wag mag-alala: gamit ang pagtuturong ito, ang lahat sa iyong comments file ay magiging sing-linaw ng Kristal!


2. Pangkalahatang code

Pag-iwas sa tuwirang access sa comments.php

Ang linya ng code na ito ay pinipigilan ang mga users na aksidenteng ma-view ang comments.php Ang linya na ito ay dapat nakasama sa post page, hindi dapat nakahiwalay. Dapat isaalang-alang mo ito para sa seguridad. Sa loob ng iyong statement, maaari kang magpasok ng anumang mensahe na gusto mong mai-display sa taong tumitingin ng comments.php file, mas maigi kung isang die statement.

Kailangan ba ang password?

Ang statement na ito (dalawa ito, sa totoo lang, ngunit mas may sense ito kung titignan mo sila bilang isa) ay nagche-check kung kailangan ng password upang makita ang post. Malinaw namaw naman na kung wala kang password upang makita ang post, hindi mo ring maaaring makita ang mga komento.

Ang unang if ay nagche-check kung mayroon bang itinakdang password. Ang pangalawang if ay nagche-check kung mayroon bang isang cookie na may password na nakapuwesto at nagdi-display ng angkop na mensahe kung wala ito doon. Maaari mong i-customize ang error message sa pamamagian ng paglalagay ng anumang gusto mong ilagay sa pangalawang if statement.


3. Pagdidisplay ng mga comments

Ang unang conditional statement (if($comments)) ay nagche-check kung mayroon bang mga komento at naglu-loop sa pamamagitan ng isang foreach statement. Sa loob ng foreach statement, mapapansin mo ang susunod na conditional statement: if($comment->comment_approved == '0'). Tinitignan nito kung ang komento ay naaprubahan, at nagpapakita ng mensahe kung hindi pa.

Ang isang halimbawa nito ay ang sumusunod na piraso ng code.

Mga payak na template tags para sa pagkokomento

Upang magawa itong isang gumaganang piraso ng code, kailangan mong gamitin ang mga template tags na binibigay ng WordPress.

Template Tag Paglalarawan
<?php comment_ID; ?> ang ID ng komento
<?php comment_autor(); ?> ang sumulat ng komento
<?php comment_autor_link(); ?> ang sumulat ng komento, na may nakaugnay na link sa kanyang website, kung mayroon man siyang binanggit
<?php comment_type(); ?> ang uri ng komento; pingback, traceback o komento
<?php commnet_text(); ?> ang aktwal na komento
<?php comment_date(); ?> ang petsa kung kalian ito pinost
<?php comment_tima(); ?> ang oras kung kalian ito pinost

Ang panghuling resulta

Ang paglalagay nito sa comments.php ay magbibigay sa iyo ng isang nakaayos na listahan kung saan ang mga komento at ang kinakailangang impormasyon o display message na nagsasabing walang anumang mga komento ang naroroon.


4. Ang comment form

Nakakasunod pa ba kayo? Ayos! Malapit na tayo. Kailangan na lang nating iproseso ang comment form…Sige, baka nagsinungaling ako sa pagsasabing malapit na tayo. Sa totoo lang, ang comment form na ito ay isa sa mga mas mahirap na parte ng buong skin file ng comments.php.

Tatambakan ka ng sangkatutak na conditional statements (kailangan ba ng login, naka-login ka ba,...). Ang bahaging ito ay kung saan ang maraming skinners ay nagkakaroon ng pinakamalaking problema: ang pagkakamali sa paglalagay ng mga element ay maaaring mapigilang gumana ang form, ng walang binibigay na partikular na PHP error.

Para mabigyan kayo ng kaalam tungkol sa mga conditional statements na kasama sa comment form, ipapaliwanag ko muna ang mga statements na ito, at isasama ang HTML pagkatapos nito habang pinapaliwanag kung bakit ito dapat mapunta sa kinalalagyan nito.

Panimula sa conditional statement

Ang unang conditional statement na masasalubong mo ay ang <?php if(comment_open()) : ?> . Sa madaling salita, chine-check nito kung ang mga komento ay bukas. Kita naman na kung nakasarado ang mga komento, hindi ka makakapgpost ng komento at ang comment form ay hindi na kailangan. Maaari mong ilagay ang mensaheng gusto mong i-display kung ang mga komento ay nakasara sa pagitan ng huling <?php esle : ?> at
<?php endif; ?> .

Ang pangalawang conditional statement na ( <?php if(get_option("comment_registration') &&!$user_ID) : ?> ) ay chinecheck kung kailangan nyo bang maging rehistrado upang magpost ng isang komento at kung ikaw ba ay logged in. Kung ang conditional statement ay natupdat na, dapat mag-display ang script ng isang link kung saan pwedeng tumungo ang mga users para mag-log in. Kung hindi kailangan ang pagrerehistro o kung nakalog-in ka na, ang script ay magpapatuloy sa else at magdidisplay ng form.

Ang ating panghuling conditional statement ay nagche-check kung ikaw ay nakalog in o hindi. Kita naman na kung naka-log in ka na, wala nang pangangailangang maglagay ng iyong pangalan, email at website pang muli.

Pagpasok ng form

Binabati kita, nabungkal natng mabuti ang lahat ng mga conditional statements sa comments.php file. Ngayon, ang natitira na lang na gawin ay idagdag ang form doon.

Ang unang bagay na naririnig kong iniisip mo ay: saan magsisimula ang form na iyon? Kailangan mo lang paganahin ang iyong sentido kumon. Ang pangalawang conditional statement ay chinecheck kung kailangan bang naka-log in ka o hindi, dahil dito, hindi mo kailangang magdisplay ng form hanggang matapos ang statement na ito. Kaya ang buong form ay nakalagay sa loob ng conditional statement na ito.

Nilagay ko rin ang link sa login page, sa paraang nakita ko ito sa default na comments.php Gaya ng sabi ko dati, chinechek ng huling conditional statement kung naka-log in ka ba o hindi. Kitang-kita naman na ang mga input fields para sa pangalan, email at website ay idinidisplay lang kung hindi ka nakalog in. Ilagay natin sila doon!

Ayos! Malapit na tayo! Kailangan na lang nating magdagdag ng ilang mga simpleng linya ng code gaya ng isang textarea at isang submit button. Ang mga ito ay susunod sa huling conditional statement, dahil walang kaugnayan sa mga elementong ito kung naka-log in ka ba o hindi.

Madaling ipaliwanag ang code na ito. Ang isang textarea field para sa vomment, isang submit button, isang naatagong input field na may future ID ng mga komento, at isang PHP snippet (<?php do_action('comment_form', $post->ID); ?>) Kinakailangan ng WordPress na paganahin ang comment form.

Voila! That's all folks! Meron ka nang nakahandang comments.php file. I-view moa ng vile na ito upang makuha ang lahat ng PHP at HTML code na kailangan. Dapat ganito ang makukuha mo (pinalitan ko lang ang comments.php file ng default skin ng gamit natin at nagdagdag ng ilang munting disenyo dito.)

Comments previewComments previewComments preview

5. Ilang mga munting daya

Syempre, mayroon ka na lang ngayong isang payak na comments.php file. Maraming bagay kang maaaring gawin upang mas mapaganda ito. Maglilista ako ng ilang mga munting tips at daya upang matulungan ka sa ginagawa mo.

Mga Gravatars

Simula sa WordPress 2.5, mayroong isang custom WordPress na template tag upang makapag-embed ng mga gravatars. Kinukuha nito ang gravatar mula sa email na inilagay ng bisita. Ang code para gawin ito ay simple lang.

Maaari mong palitan ang $author_email ng get_comment_author_email(); function, ang $size ay ang taas (at lawak) ng avatar at ang $default_avatar ay isang link sa default na larawang pang-avatar (idinidisplay kung ang nagkomento ay walang avatar).

Ipasok ang code na ito sa loob ng foreach loop na nagdidisplay ng mga komento. Ang output ay isang larawan na may mga classes na avatar at ang avatar-$size (kung saan ang $size ay ang sukat na ibinigay mo). Sa pamamagitan ng ilang munting CSS editing, maaari kang magkaroon ng kagaya nito:

Comment GravatarsComment GravatarsComment Gravatars

Bilang ng mga komento

Sinadya kong iwan ang mga headers sa comments.php file na ginawa natin mamaya, dahil naniniwala ako na makakatulong ito para sa sobrang code sa isang proseso na mahirap na. Halata naman na kinakalimutan ko sila.

Kadalasan, ang mga tao ay mayroong heading na nagdidisplay ng mga gaya ng “3 komento na ang meron”. Napakadali nitong magawa salamat sa mga template tags na inaalok ng WordPress.

Madaling lang itong intindihin: Ang $zero_comments ay ang tekstong idinidisplay kapag wala nang mga komento, ang $one_comment kapag mayroong isang komento, at $more_comments naman kapag maraming mga komento. Ang isang totoong buhay na halimbawa ay kagaya nito:

Gumamit ako ng % para sa maraming mga komento, yamang ang comments_number function ay papalitan ang % ng dami ng mga komentong (2, 3, …)

Kapag ginamit ito sa ating comments.php file, magkakaroon ka ng kagaya nito:

Comment numbersComment numbersComment numbers

Upang magdisplay ng isang link sa parte ng mga komento (kasama rin ang bilang ng mga naka-display na mga komento), kailangan mo lang gamitin ang sumusunod na mga code.

Ang unang tatlong parameters sa function na ito ay pareho ng comments_number function. Ang $css_class ay, kitang-kita naman, ang css class na ibinibigay mo sa na <a> tag at ang $comments_closed ay ang teksto na dapat i-display kapag ang mga komento ay nakasara. Kapag ginagamit ang temang ito, isa ito sa mga posibleng paraan para gamitin ito.

Bibigyan ka nito ng isang link na mayroon class comments-link

Pag-eedit ng mga komento

Minsan gugustuhin mong agad na makapag-edit ng comment. Sa kabutihang palad, gamit ang edit_comment_link function, madali ka nang makakapunta sa tamang page para i-edit ito, kaysa i-browse ang iyong admin panel para makarating sa sinabing komento. Ganito ang maaaring maging itsura niyan:

Kailangan mo itong ilagay sa loob ng foreach na comment loop. Madali namang intindihin ang mga parameters: Ang $link_text ay ang anchor text para sa link pang-edit, ang $before_link at $after_link ay ang mga teksto o code na idi-display bago o pagkatapos ng link.

Gagawin nitong napakadaling magbago ng isang komento; maaari ka lang mag-dagdag ng isang maliit na ‘Edit’ link sa meta information ng iyong komento (makikita lang ng admin). Ganito ang maaaring maging itsura niyan:

Comment Edit LinkComment Edit LinkComment Edit Link

Pagsasalit-salit ng mga kulay para sa mga komento

Posible na gusto mong magkaroon ng salitang mga kulay ng hanay para sa iyong mga komento, para magkaroon ng mas malinaw na paghihiwalay. Madali lang itong gawin. Una, idagdag ang mga sumusunod na code sa taas ng iyong page:

Pagkatapos ay idagdag ang mga sumusunod sa loob ng bawat foreach loop (muli). Maaari mo itong palitan agad ang <li id="comment- <?php comment_ID ; ? >"> nito:

Bibigyan nito ang bawat ibang komento ng class alt, kaya magiging posible nang baguhin ang itsura ng mga ito sa pamamagitan ng CSS.

Pinagpasyan kong gumawa ng isang function para dito, upang mabawasan ang kalat sa iyong aktwal na theme file. Maaari mong idagdag ang paglalarawan ng function sa iyong functions.php file kung gusto mo, pero para sa akin, mas may sense na ilagay ito sa itaas ng iyong page.

Ang pagsasalit-salit ng mga hanay ay pinapadali ang pagkilala ng iba-ibang mga komento; kapag napatupad mo ito, maaari kang makakita ng katulad nito:

alternate color commentsalternate color commentsalternate color comments

Pagdi-display ng mga pinapayagang mga tags

Upang mai-display ang code na maaaring gamitin ng mga bisita sa kanilang mga komento, ilagay lang ang munting snippet na ito.

Pagkatapos nito’y makakuha ka ng isang listahan ng mga tags na pinapayagan sa iyong mga komento, gaya nito:

allowed tagsallowed tagsallowed tags

RSS link ng mga komento

Upang makakuha ng isang link sa RSS feed para sa mga komento ng isang post, magpasok lang ng isang code sa ilalim ng iyong comments.php file sa kung saan mo man ito gustong ilagay.

Pagkatapos nito’y palitan lang ang $link_test ng anchor text mula sa RSS link.

Magandang gamitin ito kung gusto mong bigyan ang iyong mga bisita ng pagkakataong magsubsribe sa comment feed para sa isang natatanging artikulo o blog post. Maari mo itong ipatupad sa ganitong paraan:

comments rss linkcomments rss linkcomments rss link

6. Konklusyon

Sana ay nagustuhan ninyo ang *ahem* munting artikulong ito sa pagsi-skin ng iyong WordPress comments.php file. Maaari mong makuha ang buong code dito, kasama ang mga dayang ipinakita ko:

  • mga gravatars,
  • salitang kulay ng mga hanay,
  • pag-eedit ng link,
  • comments rss link.

Halata namang ang comments link ay hindi kasama dahil dapat itong gamitin sa loob ng loop.

Swertehin ka sana sa iyong mga pakikpagsapalaran sa skinning gamit ang WordPress!

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.