Fikr qo'shish vaqti keldi. WordPress sharhlari - to'liq tashqi ko'rinish dizayni

WordPress-da postlar, sahifalar, sharhlar kabi bir necha turdagi kontent mavjud. WordPress - bu sizning saytingizga mos keladigan asosiy tarkibni sozlash imkonini beruvchi juda moslashuvchan platforma. Siz tashqi ko'rinish va funksionallikni o'zgartirishingiz mumkin. Ushbu qo'llanmada biz sizga WordPress saytidagi sharhlarning xatti-harakati va ko'rinishini qanday o'zgartirishni ko'rsatamiz.

1-qadam. comment_form funksiyasi va uning argumentlarini tushunish

Keling, WordPress comment_form funksiyasini ko'rib chiqaylik. U sahifada yoki postda paydo bo'lgan sharh shaklini ko'rsatish uchun javobgardir. Ushbu funktsiyaga qo'ng'iroqni asosan mavzu papkasidagi comments.php faylida topish mumkin. Bu fayl turli joylarda, masalan, single.php va page.php fayllarida, to'g'ridan-to'g'ri yoki comments_template funksiyasiga qo'ng'iroq qilish orqali kiritilgan.

Funktsiya tavsifini WordPress kodeksida topish mumkin.

Shaklni ko'rsatish uchun comment_form funksiyasidan foydalansangiz, u standart parametrlar yordamida ko'rsatiladi va nom, elektron pochta (ikkala maydon ham talab qilinadi), veb-sayt va sharh mazmuni kabi maydonlarni o'z ichiga oladi. Standart Twenty Eleven mavzusida shakl shunday ko'rinadi.

comment_form funksiyasiga ba'zi muhim argumentlar:

  • maydonlar - uni sharh shaklida maydonlarning ko'rinishini boshqarish uchun ishlatishingiz mumkin.
  • comment_notes_befor va comment_notes_after - shakldan oldin va keyin ma'lumotlarni ko'rsatish uchun ishlatiladi.
  • title_reply - javob sarlavhasini o'zgartirish uchun foydalaniladi, bunda standart bo'lgan "Javob qoldirish".
  • label_submit - sharh yuborish tugmasidagi matnni o'zgartirish uchun ishlatiladi.
2-qadam. comment_form funksiyasidan foydalanib sharh formasini moslashtiring

Endi comment_form funksiyasiga argumentlar o‘tkazish orqali sharh formamizni o‘rnatamiz.

Sharh formasidagi maydonlarni sozlashimiz kerak bo'lsa, biz ularning ro'yxatini comment_form funksiyasiga o'tkazishimiz kerak. Odatiy bo'lib, funktsiya quyidagi maydonlar ro'yxatidan foydalanadi:

$fields = massiv("muallif" => "

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

", "elektron pochta" => " ", "url" => "

" . __ ("Veb-sayt") . "" . "

",);

Agar biz maydonni olib tashlashimiz kerak bo'lsa, masalan, veb-sayt , biz shunchaki uni massivdan chiqarib tashlashimiz va massivni comment_form funksiyasiga o'tkazishimiz kerak.

$commenter = wp_get_current_commenter(); $req = get_option("nomi_elektron pochtani talab qilish"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = massiv("muallif" => "

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

", "elektron pochta" => " ",); $comments_args = massiv("maydonlar" => $maydonlar); comment_form($comments_args);

Bundan tashqari, biz shakl nomini "Iltimos, bizga qimmatli sharhingizni qoldiring" va tugmachadagi yozuvni "Mening fikrimni yuborish" ga o'zgartiramiz.

Vazifani bajarish uchun biz quyidagi argumentlarni comment_form funksiyasiga o'tkazamiz:

$commenter = wp_get_current_commenter(); $req = get_option("nomi_elektron pochtani talab qilish"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = massiv("muallif" => "

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

", "elektron pochta" => " ",); $comments_args = array("fields" => $fields, "title_reply"=>"Iltimos, bizga qimmatli fikringizni bildiring", "label_submit" => "Mening fikrimni yuboring"); comment_form($comments_args);

Endi sharh shakli quyidagicha ko'rinadi:

3-qadam. Kanca yordamida formadan maydonlarni olib tashlash

Bundan tashqari, WordPress sharh shakli ilgaklar va filtrlar yordamida o'zgartirilishi mumkin. Ushbu sozlama, ayniqsa, plagin bilan ishlashda, bir nechta elementlarni sozlashingiz kerak bo'lganda foydali bo'lishi mumkin, lekin mavzu fayllarini o'zgartirmang. Shakldan maydonlarni qo'shish yoki o'chirish uchun filtr - ' comment_form_default_fields '

Filtr yordamida URL maydonini olib tashlaymiz. Yuqoridagi kod plaginda yoki faol mavzuning functions.php faylida ishlatilishi mumkin.

Funktsiyani olib tashlash_fikr_maydonlari($fields) ( unset($fields["url"]); return $fields; ) add_filter("comment_form_default_fields", "remove_comment_fields");

Qadam 4. Kanca yordamida sharh formasiga ma'lumotlarni qo'shing

Biz "comment_form_default_fields" filtri yordamida shaklga maydonlar qo'shishimiz mumkin. Keling, filtr yordamida muallifning yosh maydonini qo'shamiz va ushbu maydonni qo'shimcha ma'lumotlar bilan saqlaymiz va uni sharhda ko'rsatamiz.

Quyidagi kabi maydon qo'shing:

Funktsiya add_comment_fields($fields) ( $fields["age"] = "

" . __ ("Yosh") . "" . "

"; return $fields; ) add_filter("comment_form_default_fields","add_comment_fields");

#respond .comment-form-author label, #respond .comment-form-email label, #respond .comment-form-url label, #respond .comment-form-yosh yorlig'i, #respond .comment-form-comment label label ( fon: #eee; -webkit-box-shadow: 1px 2px 2px rgba(204,204,204,0.8); -moz-box-shadow: 1px 2px rgba(204,204,204,0,8, box-shadow: 1px,204); 0,8); rang: #555; shrift hajmi: 13px; min.

Endi sharh shaklimiz quyidagicha ko'rinadi:

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

Funksiya add_comment_meta_values($comment_id) ( if(isset($_POST["age"])) ( $age = wp_filter_nohtml_kses($_POST["age"]); add_comment_meta($comment_id, "age", $age, false); ) ) add_action("sharh_posti", "izohga_meta_qiymatlarni qo'shish", 1);

Ma'lumotlar saqlanganidan so'ng, u quyidagicha izoh sifatida chiqarilishi mumkin:

5-qadam. Muayyan post turlari uchun sharhlarni o'rnatish

Ba'zan siz sharh maydonlaridan faqat ma'lum turdagi xabarlar uchun foydalanmoqchisiz. Keling, kodni faqat kitob yozuvi turi uchun yosh maydonini ko'rsatish uchun o'zgartiraylik:

Funktsiya add_comment_fields($fields) ( if(is_singular("books")) ( $fields["age"] = "

" . __ ("Yosh") . "" . "

"; ) return $fields; ) add_filter("comment_form_default_fields","add_comment_fields");

Qadam 6. Sharhlarni ko'rsatish uchun qayta qo'ng'iroq qilish funksiyasini yarating

Wp_list_comments funksiyasi postlardagi sharhlarni ko'rsatish uchun ishlatiladi. WordPress kodida funksiyasi batafsil tavsiflangan.

wp_list_comments "qayta qo'ng'iroq" argumentiga ega bo'lib, unda izoh ko'rsatilganda chaqiriladigan funksiyani belgilashingiz mumkin.

comments.php faylidagi Twenty Eleven mavzusida siz quyidagi qatorni topishingiz mumkin:

Wp_list_comments(massiv("qayta qo'ng'iroq" => "yigirma o'nta_sharh"));

Keling, uni quyidagicha o'zgartiramiz:

Wp_list_comments(massiv("qayta qo'ng'iroq" => "mening_sharhlarim_qayta qo'ng'iroq"));

Har bir post uchun my_comments_callback funksiyasi chaqiriladi.

7-qadam: Sharhlarni shakllantirish

Endi sharh uslubini biroz o'zgartiramiz. Biz shunchaki post mazmunini va avval qo'shgan yosh maydonini ko'rsatamiz. Shuningdek, sharhlar uchun fon rangini o'zgartiramiz.

Funktsiya kodi "my_comments_callback":

funktsiya my_comments_callback($comment, $args, $depth) ( $GLOBALS["comment"] = $comment; ?>

Maqolada keltirilgan comments_template() funksiyasi va boshqalarning tavsifi va qabul qilingan argumentlari uchun WordPress kodeksiga qarang.

Shablonni tayyorlash

Keling, WP sharh shablonlarini tushunishga harakat qilaylik va blog postlari va sahifalarida sharhlarni ko'rsatish uchun o'z faylimizni yarataylik. Malumot uchun misol sifatida siz standart WordPress mavzularidan shablonlarni olishingiz mumkin. Keling, istalgan matn muharririda yangi hujjat yaratamiz, uni comments.php deb nomlaymiz va tahrirlashni boshlaymiz.

  • Asos sifatida, siz faylga o'zingiz yoqtirgan har qanday nom berishingiz mumkin va keyin ushbu faylga yo'lni comments_template() da yozishingiz mumkin, ammo standart nomga yopishganingiz ma'qul.
  • Aytgancha, faylni WP boshqaruv panelida ham tahrirlashingiz mumkin.
  • Albatta, kod yozish va uning ta'sirini darhol blogingizda yoki mahalliy serverda sinab ko'rish yaxshidir.

WordPress-da alohida postlar uchun sharhlarni o'chirib qo'yish mumkin, shuning uchun ularni ko'rsatishdan oldin siz "ochiqlik" ni tekshirishingiz kerak:

Bu bizning keyingi harakatlarimiz uchun o'rash kodi. Keling, sharhlar bloki uchun semantik jihatdan to'g'ri sinf yoki identifikator bilan konteyner tayyorlaylik (sinf, albatta, afzaldir):

Sizning o'quvchilaringiz bu erda sharhlar borligini va boshqa hech narsa emasligini tushunishlari uchun biz uning ichiga sarlavha yozamiz, teg bunga to'g'ri keladi:

"

Bu erda biz WordPress funktsiyalaridan birini ko'rsatdik - the_title(), ushbu funktsiyani bajarish natijasi joriy post yoki sahifaning sarlavhasi bo'ladi. Sarlavhani ko'rsatishni xohlamasangiz, shunchaki "O'quvchi sharhlari" ni yozishingiz mumkin.

Keyinchalik, sharhlarni ko'rsatishdan oldin, ularning mavjudligiga ishonch hosil qilishingiz kerak, ya'ni. tekshiring, agar mavjud bo'lsa, to'liq ro'yxatni ko'rsating, agar bo'lmasa, foydalanuvchiga "" kabi biror narsani ko'rsatishingiz mumkin. Shunday qilib, sizning postingiz/sahifangizga tashrif buyuruvchiga hali hech kim hech narsa yozmaganligi ayon bo'ladi va "Siz birinchi bo'lishingiz mumkin" degan motivatsion ibora ular sizga tezroq nimadir yozish ehtimolini oshiradi.

Shunday qilib, muammoni bu shakllantirgandan so'ng, amalga oshirish uchun bizga if/else konstruktsiyalari va get_comments_number() sharhlar sonini ko'rsatish funksiyasi kerak bo'lishi aniq bo'ladi. Agar funktsiya 0 (nol) ni qaytarsa, biz "Hali izohlar yo'q ...", aks holda "O'quvchi sharhlari ..." ni ko'rsatamiz:

Hozircha sharhlar yo'q, lekin siz "" maqolasiga birinchi o'quvchi sharhlari bo'lishingiz mumkin. Ushbu sahifa uchun muhokamalar yopiq

Izohlarni chiqarish

Ajoyib, biz sarlavhalarni sharhlar mavjudligi yoki yo'qligiga qarab ko'rsatdik, endi sharhlarning o'zini ko'rsatish mantiqan to'g'ri - bu uchun wp_list_comments() funktsiyasi javobgar. Standart funksiya barcha izohlarni teglarga o‘rab oladi

  • , shuning uchun class assignment.commentlist bilan oʻram qoʻshishingiz kerak:

    wp_list_comments() sharhlar ko'rinishini moslashuvchan sozlash uchun ishlatilishi mumkin bo'lgan bir qator argumentlarni oladi. Masalan, kalit so‘z va qiymatni kiritish orqali avatar o‘lchamini, sharhga javob matnini va boshqa sozlamalarni o‘zgartirishingiz mumkin:

    $args = array("avatar_size" => 64, // avatar hajmi 64*64px, standart 32 "reply_text" => "Javob berish" // "qayta qo'ng'iroq" izohiga javob matni => "mening_sharhlarim" // funksiya tashqi sharh turini yaratish uchun)

    Qayta qo'ng'iroq parametri alohida e'tiborga loyiqdir, u sharhni ko'rsatish uchun maxsus funksiya nomining qiymatini oladi. Uning yordami bilan siz har bir sharhning ko'rinishini moslashuvchan tarzda sozlashingiz mumkin. comment-template.php faylida standart chiqish funksiyasi shunday ko'rinadi:




     

    O'qish foydali bo'lishi mumkin: