Fikr sharhini qo'shish uchun halol bo'ling. WordPress sharhlari - tashqi ko'rinishning to'liq dizayni. Sharh shaklini qanday qilib chiroyli tarzda tuzatish mumkin

Men WordPress haqida uzoq vaqtdan beri hech narsa yozmadim. Shuning uchun, bugun men siz bilan Wordpress-dagi sharh shaklini qanday qilib o'zgartirishingiz mumkinligi haqida sizlarga aytib beraman. Menimcha, bu bilim har qanday Ajam blogger uchun foydali bo'lishi mumkin, chunki izohlash shakli ba'zida tashrif buyuruvchilar va muallif o'rtasidagi yagona aloqa vositasidir. Yonidan o'tib ketmang :)

Kod bilan biron bir manipulyatsiyani boshlashdan oldin, sizni oldindan ogohlantirmoqchiman, biz tema fayllarini emas, balki WordPress-ning fayllarini tahrirlaymiz. Ha, kimgadir xavfli bo'lib tuyulishi mumkin, kimgadir ma'nosiz, kimgadir shunchaki yoqmaydi :) Lekin men shunday qildim va menda hech qanday muammo yo'q edi. Ishni boshlashdan oldin tahrirlangan faylning zaxira nusxasini yaratishingizni maslahat beraman.
Men xavfsizlik haqida ogohlantirdim, endi men o'zimga kelgan natijani ko'rsatmoqchiman.


Ko'rib turganimizdek, "Sizning elektron pochtangiz chop etilmaydi. Kerakli maydonlar * "bilan belgilangan. Siz mehmonlarni miyasiz ahmoq deb o'ylamasligingiz kerak. Ular nimani to'ldirish kerakligini va nima to'ldirmaslik kerakligini allaqachon tushunishadi. Maydon nomlarini o'zim yashirgan edim. Bu yog 'yozuvlari nima uchun? Maydonlarning nomini aniqlamagan tashrif buyuruvchilarning aksariyati nimani anglatishini "ko'z bilan" aniqlashlari mumkin. Ammo ichki maslahatlar hali ham mavjud bo'lishi kerak. Xo'sh, sharh maydoniga yozuv keraksiz semizlikni yo'qotdi. Menimcha, bu usul ancha yaxshi va erkinroq bo'ldi.

Shunday qilib, hamma narsani tezda o'zgartiraylik! ;)
O'zingizning sayt papkangizga o'ting va undagi wp-include / comment-template.php faylini toping. Biz unda 1522 qatorni qidirmoqdamiz, ha u aynan o'sha. Qanday qilib men buni o'zimning butun bir hikoyam deb bildim, bu haqda birozdan keyin aytib beraman :)
Shunday qilib, faylni tahrirlash uchun oching va 1522-qatorga o'ting. Endi u va quyidagilar (1529 yilgacha) taxminan bir xil:

$ maydonlar \u003d qator ("muallif" \u003d\u003e "

" . " ". ($ req?") *" : "") . "

"," elektron pochta "\u003d\u003e" "," url "\u003d\u003e"

" . "

",);

Hammasi qanchalik sodda va aniq. Faqatgina keraksiz narsalarni kesib tashlash va ozgina qo'shish kifoya. Parametr qo'shiladi

To'ldiruvchi \u003d "(! LANG: qo'llanma matni" !}

Ushbu parametr maydonlar ichidagi har qanday matnni ko'rsatishga imkon beradi. Biz undan maslahatlarni ko'rsatish uchun foydalanamiz:

"

" "

" "

"

Biz satrlarni o'chirib tashlaymiz:

"

" . " ". ($ req?") *" : "") "

"

Ular maydonlarning tepasida taglavhalarni ko'rsatishga javobgardir.
Bularning barchasi ushbu manipulyatsiyalar natijasida biz quyidagilarga ega bo'lamiz:

$ maydonlar \u003d qator ("muallif" \u003d\u003e "

"," elektron pochta "\u003d\u003e"

"," url "\u003d\u003e"

",);

Faqat sizning elektron pochtangiz chop etilmaydi. Kerakli maydonlar * "bilan belgilangan. Buning uchun chiziqni o'chirib tashlang (taxminan 1537):

"comment_notes_before" \u003d\u003e "

". __ (" Sizning elektron pochta manzilingiz chop qilinmaydi. "). ($ Req? $ Majburiy_tekst:" ")."

",

Bu hammasi ko'rinadi, endi bizning shaklimiz biroz jozibador bo'lib qoldi. Ushbu ma'lumot kimgadir foydali deb umid qilaman :)

Obuna bo'ling, sharhlang, men har qanday tegishli sharhlardan mamnun bo'laman. Ehtimol, men o'zim biror narsani bilmayman va uni boshqacha qilishingiz mumkin, o'z fikrlaringiz bilan o'rtoqlashsangiz.

Ko'pchilik uchun bu nom bezovta qilmaydi, lekin ba'zida qanday o'zgartirish kerakligi, sharh qoldirish uchun sharh qo'shish yoki shunga o'xshash narsalar paydo bo'ladi. Bunday holda, ushbu maqola sizga yordam beradi. Yuqorida yozganimdek, sizga bir necha usullarni ko'rsataman.

1-usul

Birinchi usul uchun siz papkada faylni saytingizda o'rnatilgan mavzuni topishingiz kerak sharhlar.php... Agar mavjud bo'lsa, uni oching va unda sharh formasining tarkibini belgilash va namoyish qilish uchun javob beradigan qatorni qidiring. Bu quyidagicha:

$ args \u003d array ("comment_notes_before" \u003d\u003e "

"," comment_field "\u003d\u003e"

"," id_submit "\u003d\u003e" comm_subm "," label_submit "\u003d\u003e

Shunday qilib, ushbu qatorga siz kerakli qiymatga ega yangi parametr qo'shishingiz kerak va u shunday. Bizning holatda, bular:

"title_reply" \u003d\u003e "Sharhingizni qoldiring",

Siz tushunganingizdek - Sharhingizni qoldiring, bu uning o'rniga yangi nom - Sharh qo'shish. Siz bunday parametrni massivning oxiriga yoki boshiga qo'shishingiz mumkin. Bu quyidagicha bo'ladi:

$ args \u003d array ("title_reply" \u003d\u003e "Fikringizni qoldiring", "comment_notes_before" \u003d\u003e "

Iltimos, quyidagi maydonchalarni to'ldiring. Sizning elektron pochtangiz e'lon qilinmaydi. Kerakli joylar belgilangan *

"," comment_field "\u003d\u003e"

"," id_submit "\u003d\u003e" comm_subm "," label_submit "\u003d\u003e" Yuborish ",); comment_form ($ args);

Boshida qo'shilgan va hozir, xabarlar sahifalarida chiziq paydo bo'ladi - sharhingizni qoldiring. Ushbu usul murakkab emas va minimal harakat talab qiladi, asosiysi qatorni to'g'ri aniqlashdir. Ammo ba'zida shunday bo'ladiki, tema ichida comments.php fayli yo'q yoki u erda qator yo'q va uni qanday qilib to'g'ri qo'shishni bilmasangiz, ikkinchi usul sizga yordam beradi.

2-usul

Ikkinchi usulning mohiyati ismni o'zgartiradigan yangi funktsiyani qo'shishdir. Buning uchun faol mavzusi bo'lgan papkada siz faylni topishingiz kerak funktsiya.php maxsus funktsiyalar bilan va qulay joyda, agar siz buni bilmasangiz, unda PHP yorlig'i yopilishidan oldin eng oxirida - ?> , agar bunday narsa yo'q bo'lsa, unda oxirida quyidagi kodni kiriting:

Vazifasi wph_change_submit_label ($ defaults) ($ defaults ["title_reply"] \u003d "Sharhingizni qoldiring"; $ Defaults ni qaytaring;) add_filter ("comment_form_defaults", "wph_change_submit_label");

Bonus

Bu xuddi shu narsa, aslida birinchi usulda nima qilingan bo'lsa, shunchaki biz u erda to'g'ridan-to'g'ri massivga kiritdik va shu erda filtr orqali. Ushbu qadamlardan keyin siz ismning o'zgarishini ko'rasiz. Birinchi usulda bo'lgani kabi, siz matnni o'zgartirishingiz mumkin - o'zingiz yoqtirgan sharhingizni qoldiring. Ushbu matn misol sifatida keltirilgan.

Men shuningdek, Izohlar so'zining pasayishiga e'tiborni jalb qilmoqchiman. Agar sizda biron bir chiziq bo'lsa - e'lon qilingan 1 ta sharh yoki sharhlar: 10. Siz funktsiyani maqoladan foydalanishingiz mumkin. Agar siz allaqachon ishlatgan bo'lsangiz, unda men qator bilan qatorda tavsiya qilaman:

Array ("sharh", "sharh", "izoh")

Agar siz ushbu so'zni yuqoridagi usullarda ishlatgan bo'lsangiz, sarlavhalarni ko'rib chiqish, ko'rib chiqish, sharhlarga o'zgartiring. Shunday qilib, sizda hamma narsa bir xil bo'ladi va tarqoq emas, sharhlar va sharhlar mavjud.

Bugun men sizga ma'lumot bermoqchi edim. Ehtimol, kimgadir foydali bo'ladi.

E'tiboringiz uchun tashakkur. 🙂

Salom!

Bugungi maqola haqida wordPress sharhlarini namoyish qilish... Sharhlarni ko'rsatish uchun javobgar kod qaysi fayl va funktsiyalarda joylashganligini ko'rib chiqamiz. Ushbu WordPress blog blokida o'zgarishlarni amalga oshirish uchun nima qilish kerak.

Boshlash uchun har bir WordPress shablonida (mavzu) fayl mavjud sharhlar.phpIldiz katalogidan unga to'liq yo'l: /wp-content/txem/template_folder/comments.php

Aniq sharhlar.php ma'lum bir WordPress mavzusidagi umumiy sharhlar bloki uchun javobgardir.

Ko'pincha comment.php-da mavjud bo'lgan narsalar:

- sharhlarning parol bilan himoyasini tekshirish

- maqola sharhlariga ruxsat berilganligini tekshirish

- sharhlar borligini tekshirish va tegishli matnni ko'rsatish ("Izohlar yo'q ..." yoki "Izohlar qolmadi")

izohlarni ko'rsatish funktsiyasini chaqiring - wp_list_comments ()

- ko'p sahifali sharhlar uchun navigatsiyani (peyjing) namoyish qilish

- maqolada izoh qoldirish uchun forma chiqishi

O'zingizning sinflaringizni o'zgartirishingiz yoki xususiyatlarini o'zgartirishingiz mumkinligi aniq uslubi.css allaqachon mavjud sinflar uchun. Shunday qilib, sharhlar ro'yxati oldidan va sharhlar ro'yxati yoki shaklidan keyin siz sharh va matn shaklini o'zgartirishingiz mumkin. Ammo comment.php-da sharhlarning chiqish uslublarini o'zgartirish mumkin emas.

Men fayl tarkibini ro'yxatga olayotganimda sharhlar.php, keyin bu erda ta'kidlab, alohida ta'kidlandi sharhlar.php sharhlarni namoyish qilish uchun shunchaki chaqiruv mavjud wp_list_comments ()lekin chiqishning o'zi emas. Bular ichida sharhlar.php siz topa olmaysiz (hech bo'lmaganda WordPress-ning so'nggi versiyalarida va shablonni ishlab chiqishda to'g'ri yondashuv bilan): muallifning ismi va uning saytiga havolani ko'rsatish, muallifning avatarini ko'rsatish, sharhning sanasi va vaqti, sharhning o'zi va "javob berish" havolasi.

Sharhlar ro'yxatidagi uslublarni qanday o'zgartirasiz?

Birinchidan, sizning shabloningiz sharhlarni namoyish qilish uchun maxsus funktsiyani ishlatishini bilib olishingiz kerak.

Wp_list_comments () funktsiyasiga qo'ng'iroqni qaytarish (qo'ng'iroqni qaytarish funktsiyasi) va qayta qo'ng'iroq qilish mumkin.

1. wp_list_comments-ga qo'ng'iroq qilish:

Bular funktsiya parametrlarida (ismdan keyin qavs ichida) "qo'ng'iroqni qaytarish" nomi bilan parametr hech qanday joyda ko'rinmaydi.

Agarda sharh.php sizning shabloningiz bunday vaziyat, keyin bu shuni anglatadiki, ushbu mavzu sharhlarni namoyish qilish uchun o'ziga xos (maxsus) funktsiyaga ega emas va u standart shablondan foydalanadi (WordPress yadrosidan olingan shablon). U faylda joylashgan. Va beri, keyin bu holda, biz ikkinchi variantga o'tmagunimizcha sharhlarning displey uslubini o'zgartirish ishlamaydi.

2. Qaytadan qo'ng'iroq qilish bilan wp_list_comments-ga qo'ng'iroq qilish:

"type \u003d comment & avatar_size \u003d 48 va qo'ng'iroqni qaytarish \u003d custom_comment") ; ?>

qo'ng'iroqni qaytarish \u003d Custom_comment shundan dalolat beradi bizda sharhlarni namoyish qilishning maxsus funktsiyasi mavjud custom_comment , kodi, taxminan aytganda, biz standart funktsiyaga bajarish uchun parametr sifatida o'tamiz wp_list_comments... Ammo biz endi bu masalaning texnik tomoni bilan qiziqmaymiz, balki izohlarni namoyish qilish uchun o'z funktsiyasi mavjud bo'lgan shablonda. Ushbu funktsiya uchun kod joylashgan.

Aynan ushbu maxsus funktsiyada custom_comment va kod individual sharhning paydo bo'lishi uchun javob beradigan joyda joylashgan va shuning uchun barcha sharhlar umuman.

Maxsus funktsiya kodi intuitivdir. Odatda quyidagi standart WordPress funktsiyalaridan foydalanadi:

get_comment_author_link () - joriy sharh muallifining saytiga html havolasi olinadi;

get_comment_date () - sharhning sanasini oladi;

get_comment_time () - sharh vaqtini oladi;

comment_text () - sharh matnini ko'rsatadi;

Siz kodda ushbu funktsiyalardan parchalarni topishingiz va ma'lum elementlarning ko'rinishini ularni divlarga yoki spanslarga o'ralgan holda va o'ziga xos uslub sinflariga tayinlash orqali o'zgartirishingiz mumkin.

Masalan, maxsus funktsiya kodini, avatar displeyining parchasi:

< div class = "comment-author" >

< / div >

Endi ichkarida qoldi uslubi.css sinfga kerakli xususiyatlarni o'rnatish sharh muallifi... O'zgartirilgan uslublarning aniq misollari quyidagi maqolalardan birida muhokama qilinadi.

Endi siz shunday savol tug'dirasiz: “ Agar mening shablonim sharhlarni namoyish qilish uchun maxsus funktsiyaga ega bo'lmasa nima bo'ladi?

Javob: uni yaratishingiz kerak.

Eng oson variant - standart WordPress funktsiya kodini nusxalash sharh ().

Sharhlarni namoyish qilish uchun maxsus funktsiyani yaratish bo'yicha ko'rsatmalar:

1. Faylni oching /wp-includes/comment-template.php va undagi funktsiyani toping sharh ().

Mana, uning tavsifining boshlanishi

/ ** * @since 3.6 * @ Access access * * @param ob'ekti $ comment Ko'rish uchun izoh. * @param int $ chuqurlik Sharh chuqurligi. * @param massivi $ args Ixtiyoriy argumentlar. * / himoyalangan funktsiya sharhi ($ comment, $ chuqurligi, $ args) (

* @ 3.6

* @kscess himoyalangan

* @param ob'ekti $ comment Ko'rish uchun izoh.

* @param int $ chuqurlik Sharh chuqurligi.

* @param massivi $ args Ixtiyoriy argumentlar.

himoyalangan funktsiya sharhi ($ comment, $ dərinligi, $ args) (

2. Funktsiyaning butun tanasini nusxalash sharh ().

1-bandda ko'rsatilgan tavsif boshidan yopiladigan jingalak qavsga kod parchasini nusxalashingiz kerak } keyin boshqa funktsiyaning o'xshash tavsifi

Yaqinda men o'z WordPress mavzusimning fayllarini, ya'ni sharhlarni namoyish qilish shablonining qoidalarini, uning tuzilishini va bloglardagi sharhlarni namoyish qilish uchun javob beradigan turli xil funktsiyalarni o'rganib chiqdim. Natijada, standart chiqishni o'zgartirdim, o'z comment.php faylimni yaratdim va qo'shdim. Olingan natijani maqola shaklida tuzishga qaror qildim, chunki bu mavzuni juda yaxshi tushunib etdim va juda ko'p materiallar oldim.

Umid qilamanki, ushbu maqola HTML, CSS va PHP bilan yaxshi tanish bo'lgan WordPress blog egalari uchun foydali bo'ladi.

***

WordPress-da sharhlar shablonini xabar yoki sahifaga ulash uchun comment_template () funktsiyasidan foydalaning, u ikkita parametrni oladi:

  • birinchisi shablon fayliga olib boradigan yo'l, sukut bo'yicha bu joriy mavzudagi papkada comments.php
  • ikkinchisi sukut bo'yicha, sharhlarni turlarga ajratish uchun xizmat qiladi (odatiy, trekkali va pingback)

Yagona.php post shabloniga yoki page.php sahifasiga post chiqqandan keyin comment_template () ni joylashtiramiz.

Ushbu maqolada keltirilgan comment_template () funktsiyasi va boshqalar uchun tavsif va qabul qilingan dalillar uchun WordPress Codex-ga qarang.

Andoza tayyorlash

Keling, WP-ning sharhlari andozalarini aniqlab olishga harakat qilaylik va bloglardagi postlar va sahifalarda sharhlarni ko'rsatish uchun o'z fayllarimizni yaratamiz. Malumot uchun namunalar sifatida siz odatiy WordPress mavzularidan shablonlarni olishingiz mumkin. Keling, har qanday matn muharririda yangi hujjat yaratamiz, uni comment.php deb nomlaymiz va tahrirlashni boshlaymiz.

  • Aslida, siz xohlagan faylga nom berishingiz va ushbu faylga yo'lni comment_template () -ga yozishingiz mumkin, ammo standart nomga rioya qilish yaxshiroqdir
  • Aytgancha, siz faylni WP ma'mur panelida tahrirlashingiz mumkin
  • Albatta, kodni yozish va uning harakatlarini darhol blogingizda yoki mahalliy serverda tekshirish yaxshidir.

WordPress-da shaxsiy xabarlarning sharhlarini o'chirib qo'yish mumkin, shuning uchun ularni namoyish qilishdan oldin siz "ochiqlik" ni tekshirishingiz kerak:

Bu bizning keyingi harakatlarimiz uchun o'rash kodidir. Endi sharhlar blokiga konteyner tayyorlaylik

semantik jihatdan to'g'ri sinf yoki identifikator bilan (albatta sinf afzal ko'riladi):

Ichkarida

biz sarlavhani yozamiz, shunda sizning o'quvchilaringiz sharhlar va boshqa hech narsa yo'qligini, tegni tushunishadi

buning uchun to'g'ri bo'ladi:

"

Bu erda biz WordPress funktsiyalaridan birini - the_title () ni belgilab oldik, ushbu funktsiyaning natijasi joriy post yoki sahifaning sarlavhasi bo'ladi. Agar sarlavhani ko'rsatishni xohlamasangiz, oddiygina "Reader Sharhlari" ni yozishingiz mumkin.

Bundan tashqari, sharhlarni namoyish etishdan oldin, ularning mavjudligiga ishonch hosil qilishingiz kerak, ya'ni. tekshiring, agar mavjud bo'lsa - to'liq ro'yxatni ko'rsating, agar bo'lmasa - u holda siz foydalanuvchiga "" kabi bir narsani ko'rsatishingiz mumkin. Shunday qilib, sizning postingiz / sahifangizga tashrif buyurgan kishi hali hech kim hech narsa yozmaganligini tushunadi va "Siz birinchi bo'lishingiz mumkin" degan undov jumlasi ular sizga tezroq biror narsa yozishi ehtimolini oshiradi.

Shunday qilib, muammoning bunday bayonidan keyin, amalga oshirish uchun sharhlar sonini ko'rsatish uchun if / else inshootlari va get_comments_number () funktsiyasi kerakligi aniq bo'ladi. Agar funktsiya 0 (nol) ni qaytarsa, u holda biz "Hali sharh yo'q ...", aks holda "Reader comment ..." ni ko'rsatamiz.

Hali sharh yo'q, lekin siz birinchi bo'lishingiz mumkin

Maqoladagi o'quvchilarning izohlari ""

Ushbu sahifada muhokamalar yopiq

Fikrlarni namoyish qilish

Ajoyib, biz sharhlarning mavjud yoki yo'qligiga qarab sarlavhalarni ko'rsatdik, endi sharhlarni o'zlari ko'rsatish mantiqan - bunga javoban wp_list_comments () funktsiyasi kiradi. Standart funktsiya barcha sharhlarni teglarga to'playdi

  • shuning uchun o'rash kerak
      veb-sayt ro'yxati klassi tayinlanishi bilan:

      wp_list_comments () mulohazalar ko'rsatilishini moslashingiz mumkin bo'lgan bir qator argumentlarni qabul qiladi. Masalan, siz avatarning o'lchamini, sharhga javob matni va boshqa sozlamalarni kalit so'z va qiymatni berib o'zgartirishingiz mumkin:

      $ args \u003d array ("avatar_size" \u003d\u003e 64, // avatarning o'lchami 64 * 64px, standart 32 "javob_text" \u003d\u003e "Javob berish" // sharhga javob matni "qayta qo'ng'iroq" \u003d\u003e "my_comments" // tashqi ko'rinishni shakllantirish funktsiyasi) sharh turi)

      Sharhni namoyish qilish uchun maxsus funktsiya nomining qiymatini oladigan qo'ng'iroqni qaytarish parametri alohida ko'rib chiqishga loyiqdir. Uning yordami bilan siz har bir sharhning ko'rinishini moslashuvchan qilishingiz mumkin. Sharh-template.php faylidan standart chiqish funktsiyasi quyidagicha:

    1. id \u003d "li-comment-">
      "); ?> % s deydi:"), get_comment_author_link ())?\u003e
      comment_approved \u003d\u003d "0"):?\u003e
      $ chuqurligi, "max_depth" \u003d\u003e $ args ["max_depth"])))?\u003e

      Eng oson yo'li bu funktsiyani olish va uni o'zingiz tahrirlash va uni comment.php yoki functions.php fayliga yozish orqali odatiy deb nomlash.

      Sharhlar ro'yxati ko'rsatilgandan so'ng, siz CSS uslublari orqali ularning ko'rinishini o'zgartirishingiz mumkin. Ba'zi wp_list_comments () parametrlari WP ma'mur panelida takrorlanadi, Variantlar yorlig'i → Muhokama, xususan daraxtga o'xshash izohlarning mavjudligi, sana bo'yicha tartiblash va hk.

      Sharh formasi

      Izoh shaklini qo'shish uchun comment_form () funktsiyasidan foydalaning. Keling, uni sharhlar ro'yxatiga qo'shamiz:

      Hali sharh yo'q, lekin siz birinchi bo'lishingiz mumkin

      Maqoladagi o'quvchilarning izohlari ""

      1. 64, "answer_text" \u003d\u003e "Javob berish", "qayta qo'ng'iroq" \u003d\u003e "my_comments"); wp_list_comments ($ args); ?\u003e

      Ushbu sahifada muhokamalar yopiq

      Bu kabi chaqirilganda comment_form () standart kodni WordPress comment-template.php faylidan yuklaydi. Funktsiya ikkita parametrni oladi:

      Comment_form ($ args, $ post_id);

      • $ args - shaklni chiqarish sozlamalari to'plami
      • $ post_id - amaldagi post ishlatiladigan post id

      Masalan, forma maydonchalari uchun HTML5 tekshiruvini bajaramiz, matnli ko'rsatmalar qo'shamiz. Kerakli sozlamalarni kiritish uchun $ args massivini yaratamiz:

      $ args \u003d qator (); comment_form ($ args);

      Sozlash tugmachalari massivga yozilishi kerak:

      $ args \u003d array ("maydonlar" \u003d\u003e apply_filters ("comment_form_default_fields", $ maydonlar));

      Endi biz forma maydonlarini o'z ichiga olgan $ maydonlar o'zgaruvchisini to'ldirishimiz kerak. Eng oson yo'li sharh-template.php-dan standart WordPress kodini olish va uni biroz o'zgartirish:

      "

      ". ($ req?") *" : "") . "

      "," elektron pochta "\u003d\u003e" "," url "\u003d\u003e"

      " . "

      "); $ args \u003d array (" maydonlar "\u003d\u003e apply_filters (" comment_form_default_fields ", $ maydonlar)); comment_form ($ args);?\u003e

      Bu erda muallif, elektron pochta va url parametrlari mos ravishda "Ism", "Pochta" va "Sayt" maydonlarining html-kodidir. Ushbu qiymatlarni o'zgartirish kerak.

      Maydonlar uchun biz quyidagi atributlarni qo'shishimiz kerak:

      • talab qilinadi - maydonlarni majburiy holga keltiradi, uni "Ism" va "Sayt" maydonlariga qo'shing
      • to'ldiruvchi - maydonga matnli ko'rsatma qo'shadi
      • "Ism" maydoni uchun naqsh \u003d "(3,)" - nomni lotin yoki rus alifbosidagi harflar bilan belgilang va uzunligi kamida 3 ta belgidan iborat bo'lishi kerak.
      • "Mail" maydoni uchun type \u003d "email" - bu HTML5 elektron pochta tekshiruvini qo'shadi
      • autocomplete - maydonlar uchun avto-to'ldirishni yoqadi
      • "Sayt" maydoni uchun turi \u003d "url"

      Esda tutingki, yangi HTML5 atributlari eski brauzerlarda ishlamaydi. Yangi maydon turlarini tushunmaydigan brauzerlar ularni shunchaki matn sifatida taqdim etadi, ya'ni. .

      Bundan tashqari, men blogim uchun teglarning joylarini o'zgartirdim, uslublar uchun darslarni qo'shdim, natijada $ $ qatorlari uchun quyidagi kodni oldim:

      "

      "," elektron pochta "\u003d\u003e" "," url "\u003d\u003e"

      "); ?>

      Biz ma'lumotlar kiritish maydonlarini o'zgartirdik. Endi sharh shaklini o'zi tahrir qilaylik

      " ?>

      Bu standart WordPress kodi, men uni biroz o'zgartirdim - matnga ishora va styling uchun qo'shimcha sinf qo'shdim.

      CSS uslublarini ishlatish bilan yakunlangan narsa:

      HTML5 atributlaridan foydalangan holda WordPress sharh formasi

      Natija

      Va nihoyat, men o'z sharhlarimni o'chirib tashlayman.php kodini:

      maqola o'quvchilari ""

      • Birinchi bo'lib izohlang - muallif ko'p harakat qildi
      1. id \u003d "li-comment-">
        "); ?> % s yozadi:"), get_comment_author_link ())?\u003e
        comment_approved \u003d\u003d "0"):?\u003e
        $ chuqurligi, "max_depth" \u003d\u003e $ args ["max_depth"])))?\u003e
        "Javob berish", "qayta qo'ng'iroq" \u003d\u003e "verstaka_comment"); wp_list_comments ($ args); ?\u003e
      "

      "," elektron pochta "\u003d\u003e" "," url "\u003d\u003e"

      "); $ args \u003d array (" comment_notes_after "\u003d\u003e" "," comment_field "\u003d\u003e"

      "," label_submit "\u003d\u003e" Yuborish "," maydonlar "\u003d\u003e apply_filters (" comment_form_default_fields ", $ maydonlar)); comment_form ($ args);?\u003e

      Ushbu sahifada muhokamalar yopiq

      Fikrlar bo'yicha tez-tez beriladigan savollar

      Muallif va foydalanuvchi izohlarini qanday ajratish mumkin?

      Ba'zan muallifning izohlari uchun alohida ko'rinishni o'rnatish juda qulay, buning uchun maxsus plaginlar ham mavjud. Ammo, siz css faylida .bypostauthor klassi uchun uslublarni yozib, hech qanday plaginlarsiz qilishingiz mumkin. Xuddi shunday, siz o'zingizning shaxsiy sharhlaringizni uslublashingiz mumkin - .bypostuser:

      Qanday qilib daraxt sharhlarini uslub qilaman?

      Daraxt sharhlarini yoqish uchun WP boshqaruv paneliga o'tishingiz kerak, Variantlar → Munozara → Daraxt sharhlariga ruxsat berish. Endi bolalarning sharhlari daraxtga o'xshash tuzilishga ega bo'ladi, ularni alohida-alohida, masalan, belgilash kabi ajratish mumkin. Siz qilishingiz kerak bo'lgan narsa bu ro'yxat uchun css-da qoidalarni bolalar sinfida o'rnatish.

      Izohlar ro'yxati. Bolalar (to'ldirish: 0 0 0 40px; / * bolalar izohlari uchun chapga to'ldirish * /)

      Yagona va g'alati sharhlar uchun uslublar

      Sukut bo'yicha WordPress class.even, even.odd kabi g'alati sharhlarni beradi. Ushbu sinflar orqali o'z uslubingizni sozlash juda oson:

      Izohlar ro'yxati .even (/ * g'alati sharhlar uchun uslublar * /) .commentlist .odd (/ * hatto bir xil sharhlar uchun uslublar * /)

      Qanday qilib bitta xabarga sharhlarni yopishim mumkin?

      Bu juda oson - xabar yozish uchun sahifaga o'ting, Ekran sozlamalari → Munozaralar, munozaralar bloki post maydonida paydo bo'ladi, "Izohlarga ruxsat berish" bandini olib tashlang.

      • O'zingizning sharhlar shablonini yaratishda standart va boshqa bepul va pullik WordPress mavzularidan comment.php fayllaridan foydalanishingiz mumkin
      • Oddiy sharhlarga alternativa uchinchi tomon sharh formasi plaginlari, masalan mashhur DISQUS
      • Kodni to'g'ridan-to'g'ri comment-template.php faylida tahrirlash mumkin, ammo agar WordPress yangilansa, barcha kodlar qayta yoziladi - siz yana tahrirlashingizga to'g'ri keladi.
      • Esingizda bo'lsin - mukammal sharh shablonlari yo'q

      Loyihaga yordam bering

      66 ovoz, o'rtacha: 4,47 5)

      WordPress-da xabarlar, sahifalar, sharhlar kabi bir nechta turdagi tarkib mavjud. WordPress bu juda moslashuvchan platforma bo'lib, tarkibning asosiy turlarini saytingizga moslashtirishga imkon beradi. Siz tashqi ko'rinishini va funksionalligini o'zgartirishingiz mumkin. Ushbu qo'llanmada sizga WordPress saytidagi sharhlarning xatti-harakati va tashqi ko'rinishini qanday o'zgartirish kerakligini ko'rsatamiz.

      1-qadam. Funktsiyani tushunish comment_form va uning dalillari

      WordPress comment_form funktsiyasini ko'rib chiqing. U sahifa yoki postda ko'rsatiladigan sharh shaklini ko'rsatishga javobgardir. Ushbu funktsiyaga qo'ng'iroqni asosan faylda topish mumkin sharhlar.php mavzular papkasida. Ushbu fayl turli joylarda, masalan, fayllarda mavjud yakka.php va sahifa.php, to'g'ridan-to'g'ri yoki comment_template funktsiyasiga qo'ng'iroq orqali.

      Funktsiya tavsifini WordPress kodeksida topish mumkin.

      Agar siz formani ko'rsatish uchun comment_form funktsiyasidan foydalansangiz, u standart parametrlardan foydalangan holda ko'rsatiladi va unda ism, elektron pochta (ikkala maydon ham shart), veb-sayt va sharh mazmuni kabi maydonlar mavjud. Odatiy "Yigirma o'n birinchi" mavzusida shakl quyidagicha bo'ladi.

      Comment_form funktsiyasiga ba'zi muhim dalillar:

      • maydonlar - bu sharh shaklida maydonlarning ko'rinishini boshqarish uchun ishlatilishi mumkin.
      • comment_notes_before va comment_notes_after formadan oldin va keyin ma'lumotlarni namoyish qilish uchun ishlatiladi.
      • title_reply - javobning sarlavhasini o'zgartirish uchun ishlatilgan bo'lib, sukut bo'yicha "Javob berish" dir.
      • label_submit - yuborish tugmachasidagi matnni o'zgartirish uchun ishlatiladi.

      2-qadam. Funktsiya yordamida sharh shaklini sozlang comment_form

      Endi sharh formasini argumentlarni comment_form funktsiyasiga o'tkazish orqali sozlaymiz.

      Agar biz sharh shaklidagi maydonlarni sozlashimiz kerak bo'lsa, biz ularning ro'yxatini comment_form funktsiyasiga o'tkazishimiz kerak. Odatiy bo'lib, funktsiya quyidagi maydonlar ro'yxatidan foydalanadi:

      $ maydonlar \u003d qator ("muallif" \u003d\u003e "

      " . " ". ($ req?") *" : "") . "

      "," elektron pochta "\u003d\u003e" "," url "\u003d\u003e"

      " . "

      ",);

      Agar biz, masalan veb-saytni, maydonni olib tashlashimiz kerak bo'lsa, biz uni massivdan chiqarib tashlab, comment_form funktsiyasini bajaramiz.

      $ commenter \u003d wp_get_current_commenter (); $ req \u003d get_option ("talab_tan_email"); $ aria_req \u003d ($ req? "aria-required \u003d" haqiqiy "": ""); $ maydonlar \u003d qator ("muallif" \u003d\u003e "

      " . " ". ($ req?") *" : "") . "

      "," elektron pochta "\u003d\u003e" ",); $ comment_args \u003d array (" maydonlar "\u003d\u003e $ maydonlar); comment_form ($ comment_args);

      Bundan tashqari, biz shaklning nomini "Iltimos, bizga o'zingizning sharhlaringizni bering" va "Izohimni yuborish" tugmachasidagi sarlavhani o'zgartiramiz.

      Vazifani bajarish uchun comment_form funktsiyasiga quyidagi dalillarni yuboring:

      $ commenter \u003d wp_get_current_commenter (); $ req \u003d get_option ("talab_tan_email"); $ aria_req \u003d ($ req? "aria-required \u003d" haqiqiy "": ""); $ maydonlar \u003d qator ("muallif" \u003d\u003e "

      " . " ". ($ req?") *" : "") . "

      "," elektron pochta "\u003d\u003e" ",); $ comments_args \u003d array (" maydonlar "\u003d\u003e $ maydonlar," sarlavha_reply "\u003d\u003e" Iltimos, bizga qimmatli sharhlaringizni bering "," label_submit "\u003d\u003e" Fikrimni yuboring "); comment_form ($ comments_args);

      Endi sharh shakli quyidagicha bo'ladi:

      3-qadam. Ilgak yordamida shakllarni maydonlardan olib tashlash

      Shuningdek, WordPress sharh shaklini ilgaklar va filtrlar yordamida o'zgartirish mumkin. Ushbu sozlama plagin bilan ishlashda, ayniqsa bir nechta elementlarni sozlash kerak bo'lganda foydali bo'lishi mumkin, ammo tematik fayllarni o'zgartirmaslik kerak. Formadan maydonlar qo'shish yoki o'chirish uchun filtr - 'comment_form_default_fields'

      Filtr yordamida URL maydonini olib tashlaymiz. Berilgan kod plagin yoki faylda ishlatilishi mumkin vazifalari.php faol mavzu.

      Funktsiya remove_comment_fields ($ maydonlar) (o'rnatilmagan ($ maydonlar ["url"]); $ maydonlarini qaytarish;) add_filter ("comment_form_default_fields", "remove_comment_fields");

      Qadam 4. Ilova yordamida sharh shakliga ma'lumot qo'shing

      Shaklga 'comment_form_default_fields' filtri yordamida maydonlar qo'shishimiz mumkin. Filtrni ishlatib, muallifning yoshini qo'shing va qo'shimcha ma'lumot bilan ushbu maydonni saqlang va uni sharhlarda aks ettiring.

      Maydonni quyidagicha qo'shing:

      Funktsiya add_comment_fields ($ field) ($ field ["age"] \u003d "

      " . "

      "; $ maydonlarini qaytaring;) add_filter (" comment_form_default_fields "," add_comment_fields ");

      #respond .comment-form-muallif yorlig'i, #respond .comment-form-elektron pochta yorlig'i, #respond .comment-form-url yorlig'i, #respond .comment-form-age yorlig'i, #respond .comment-form-comment yorlig'i ( fon: #eee; -webkit-box-soya: 1px 2px 2px rgba (204,204,204,0.8); -moz-box-soya: 1px 2px 2px rgba (204,204,204,0.8); box -oya: 1px 2px 2px rgba (204,204,20) 0.8); rang: # 555; displey: inline-blok; shrift o'lchami: 13px; chap: 4px; min-kenglik: 60px; to'ldirish: 4px 10px; joylashish: nisbiy; tepada: 40px; z-indeks: 1;)

      Endi bizning sharh shaklimiz quyidagicha bo'ladi:

      Yosh endi qo'shimcha ma'lumot sifatida saqlanadi. Siz 'comment_post' da kancadan foydalanishingiz kerak:

      Funktsiya add_comment_meta_values \u200b\u200b($ comment_id) (agar (isset ($ _ POST ["age"])) ($ age \u003d wp_filter_nohtml_kses ($ _ POST ["age"]); add_comment_meta ($ comment_id, "age", $ age, false); )) add_action ("comment_post", "add_comment_meta_values", 1);

      Ma'lumotlar saqlanganidan so'ng, ularni sharhda quyidagicha ko'rsatish mumkin:

      comment_ID, "yosh", to'g'ri); ?\u003e

      5-qadam. Muayyan post turlari uchun sharhlarni sozlash

      Ba'zan siz faqat ba'zi post turlari uchun sharhlarda maydonlardan foydalanishni xohlaysiz. Faqat yosh kitob maydonini ko'rsatish uchun kodni o'zgartiraylik: faqat kitoblar yozuvi uchun:

      Funktsiya add_comment_fields ($ maydonlar) (agar (is_singular ("kitoblar")) ($ maydonlar ["age"] \u003d "

      " . "

      ";) $ maydonlarini qaytaring;) add_filter (" comment_form_default_fields "," add_comment_fields ");

      6-qadam. Sharhlarni namoyish qilish uchun qaytish funktsiyasini yarating

      Xabarlarda sharhlarni namoyish qilish uchun wp_list_comments funktsiyasidan foydalaniladi. WordPress kodeksi funktsiyani batafsil tavsiflaydi.

      wp_list_comments-da "qayta qo'ng'iroq qilish" argumenti mavjud, unda siz sharh paydo bo'lganda chaqiriladigan funktsiyani belgilashingiz mumkin.

      Yigirma o'n bitta mavzudagi fayl sharhlar.php liniyani topishingiz mumkin:

      Wp_list_comments (qator ("qayta qo'ng'iroq qilish" \u003d\u003e "yigirma yetti_comment");

      Buni quyidagiga o'zgartiraylik:

      Wp_list_comments (qator ("qayta qo'ng'iroq" \u003d\u003e "my_comments_callback");

      Har bir yozuv uchun my_comments_callback funktsiyasi chaqiriladi.

      7-qadam. Sharhlarni uslublashtirish

      Endi biz sharh uslubini biroz o'zgartiramiz. Biz shunchaki yozuvning mazmunini va ilgari qo'shgan yosh maydonini ko'rsatamiz. Sharhlar uchun orqa rangni ham o'zgartiramiz.

      Funktsiya kodi "my_comments_callback":

      My_comments_callback funktsiyasi ($ izoh, $ args, $ chuqurligi) ($ GLOBALS ["comment"] \u003d $ comment;?\u003e

    2. id \u003d "li-comment-">
  • comment_ID, "yosh", to'g'ri); ?\u003e

    __ ("Javob ↓", "yigirmata"), "chuqurlik" \u003d\u003e $ chuqurlik, "max_depth" \u003d\u003e $ args ["max_depth"]))); ?\u003e

    Fon rangini quyidagicha o'zgartiring:

    Izohlar ro'yxati\u003e li.comment (fon: # 99ccff; chegara: 3px qattiq #ddd; -moz-border-radius: 3px; chegara-radius: 3px; margin: 0 0 1.625em; to'ldirish: 1.625em; joylashuv: nisbiy;)

    Sizga maqola yoqdimi? Do'stlar bilan baham ko'ring: