დროა დაამატოთ კომენტარი კომენტარის პასუხი. WordPress კომენტარები – სრული გარეგნობის დიზაინი
WordPress-ს აქვს რამდენიმე სახის შინაარსი, როგორიცაა პოსტები, გვერდები, კომენტარები. WordPress არის ძალიან მოქნილი პლატფორმა, რომელიც საშუალებას გაძლევთ დააკონფიგურიროთ ძირითადი შინაარსი თქვენს საიტზე. თქვენ შეგიძლიათ შეცვალოთ გარეგნობა და ფუნქციონირება. ამ გაკვეთილში ჩვენ გაჩვენებთ, თუ როგორ უნდა შეცვალოთ კომენტარების ქცევა და გარეგნობა WordPress საიტზე.
ნაბიჯი 1. comment_form ფუნქციის და მისი არგუმენტების გაგებამოდით შევხედოთ WordPress კომენტარის_ფორმის ფუნქციას. ის პასუხისმგებელია კომენტარის ფორმის ჩვენებაზე, რომელიც გამოჩნდება გვერდზე ან პოსტზე. ამ ფუნქციის გამოძახება ძირითადად შეგიძლიათ იხილოთ comments.php ფაილში თემების საქაღალდეში. ეს ფაილი შედის სხვადასხვა ადგილას, მაგალითად single.php და page.php ფაილებში, პირდაპირ ან ფუნქციის კომენტარების_თარგის დარეკვით.
ფუნქციის აღწერა შეგიძლიათ იხილოთ WordPress კოდექსში.
თუ იყენებთ comment_form ფუნქციას ფორმის საჩვენებლად, ის გამოისახება ნაგულისხმევი პარამეტრების გამოყენებით და შეიცავს ველებს, როგორიცაა სახელი, ელფოსტა (ორივე ველი სავალდებულოა), ვებსაიტი და კომენტარის შინაარსი. ნაგულისხმევი Twenty Eleven თემაში, ფორმა ასე გამოიყურება.
ზოგიერთი მნიშვნელოვანი არგუმენტი comment_form ფუნქციისთვის:
- ველები - შეგიძლიათ გამოიყენოთ იგი კომენტარების ფორმაში ველების ჩვენების გასაკონტროლებლად.
- კომენტარი_შენიშვნები_ადრე და კომენტარი_შენიშვნები_შემდეგ - გამოიყენება ინფორმაციის საჩვენებლად ფორმამდე და მის შემდეგ.
- title_reply - გამოიყენება პასუხის სათაურის შესაცვლელად, რომელიც ნაგულისხმევად არის „დატოვეთ პასუხი“.
- label_submit - გამოიყენება კომენტარის გაგზავნის ღილაკზე ტექსტის შესაცვლელად.
ახლა მოდით დავაყენოთ ჩვენი კომენტარის ფორმა კომენტარის_ფორმის ფუნქციაზე არგუმენტების გადაცემით.
იმ შემთხვევაში, თუ ჩვენ გვჭირდება ველების მორგება კომენტარის ფორმაში, უნდა გადავიტანოთ მათი სია კომენტარის_ფორმის ფუნქციაზე. ნაგულისხმევად, ფუნქცია იყენებს ველების შემდეგ ჩამონათვალს:
$fields = მასივი ("ავტორი" => "
" . "" . __("სახელი") . " " . ($req ? "*" : "") ."
", "email" => "" . __("ელფოსტა") . " " . ($req ? "*" : "") ."
", "url" => "" . __("ვებგვერდი") . "" ."
",);თუ ჩვენ გვჭირდება ველის ამოღება, მაგალითად, ვებსაიტი, უბრალოდ უნდა გამოვრიცხოთ იგი მასივიდან და გადავიტანოთ მასივი comment_form ფუნქციაზე.
$კომენტატორი = wp_get_current_commenter(); $req = get_option ("ათხოვოს_სახელი_ელფოსტა"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = მასივი ("ავტორი" => "
" . "" . __("სახელი") . " " . ($req ? "*" : "") ."
", "email" => "" . __("ელფოსტა") . " " . ($req ? "*" : "") ."
",);$comments_args = მასივი("ველები" => $ველები); comment_form($comments_args);გარდა ამისა, ჩვენ ასევე შევცვლით ფორმის სახელს „გთხოვთ მოგვაწოდოთ თქვენი ღირებული კომენტარი“ და ღილაკზე წარწერა „ჩემი კომენტარის გაგზავნა“.
დავალების შესასრულებლად, ჩვენ გადავცემთ შემდეგ არგუმენტებს comment_form ფუნქციას:
$კომენტატორი = wp_get_current_commenter(); $req = get_option ("ათხოვოს_სახელი_ელფოსტა"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = მასივი ("ავტორი" => "
" . "" . __("სახელი") . " " . ($req ? "*" : "") ."
", "email" => "" . __("ელფოსტა") . " " . ($req ? "*" : "") ."
",); $comments_args = array("fields" => $fields, "title_reply"=>"გთხოვთ მოგვაწოდოთ თქვენი ღირებული კომენტარი", "label_submit" => "გააგზავნე ჩემი კომენტარი"); comment_form($comments_args);ახლა კომენტარის ფორმა ასე გამოიყურება:
ასევე, WordPress კომენტარის ფორმა შეიძლება შეიცვალოს კაკვებისა და ფილტრების გამოყენებით. ეს პარამეტრი შეიძლება იყოს განსაკუთრებით სასარგებლო დანამატთან მუშაობისას, როდესაც საჭიროა რამდენიმე ელემენტის მორგება, მაგრამ არა თემის ფაილების შეცვლა. ფილტრი ფორმიდან ველების დამატების ან წასაშლელად - ' comment_form_default_fields '
მოდით წავშალოთ URL ველი ფილტრის გამოყენებით. ზემოთ მოყვანილი კოდი შეიძლება გამოყენებულ იქნას მოდულში ან აქტიური თემის functions.php ფაილში.
ფუნქცია remove_comment_fields($fields) ( unset($fields["url"]); return $fields; ) add_filter("comment_form_default_fields","remove_comment_fields");
ნაბიჯი 4. დაამატეთ მონაცემები კომენტარის ფორმაში კაკლის გამოყენებითჩვენ შეგვიძლია დავამატოთ ველები ფორმაში „comment_form_default_fields“ ფილტრის გამოყენებით. მოდით დავამატოთ ავტორის ასაკის ველი ფილტრის გამოყენებით და შეინახოთ ეს ველი დამატებითი მონაცემებით და გამოვაჩინოთ კომენტარში.
დაამატეთ ასეთი ველი:
ფუნქცია add_comment_fields($fields) ( $fields["age"] = "
" . __("ასაკი") . "" ."
"; დაბრუნება $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-age label, #respond .comment-form-comment label ( ფონი: #eee; : 13px მინ-სიგანე: 4px 10px;
ახლა ჩვენი კომენტარის ფორმა ასე გამოიყურება:
ასაკი ახლა ინახება დამატებითი ინფორმაციის სახით. თქვენ უნდა გამოიყენოთ კაკალი "comment_post"-ში:
ფუნქცია add_comment_meta_values($comment_id) ( if(isset($_POST["ასაკი"])) ($age = wp_filter_nohtml_kses($_POST["ასაკი"]); add_comment_meta ($comment_id, "ასაკი", $age, false); ) ) add_action("comment_post", "add_comment_meta_values", 1);
მონაცემების შენახვის შემდეგ, ის შეიძლება გამოვიდეს კომენტარის სახით:
ზოგჯერ გსურთ გამოიყენოთ კომენტარების ველები მხოლოდ გარკვეული ტიპის პოსტებისთვის. მოდით შევცვალოთ კოდი, რათა გამოჩნდეს ასაკის ველი მხოლოდ წიგნის ჩანაწერის ტიპისთვის:
ფუნქცია add_comment_fields($fields) ( if(is_singular("წიგნები")) ($fields["age"] = "
" . __("ასაკი") . "" ."
"; ) დააბრუნეთ $fields; ) add_filter("comment_form_default_fields","add_comment_fields");ნაბიჯი 6. შექმენით გამოძახების ფუნქცია კომენტარების საჩვენებლადwp_list_comments ფუნქცია გამოიყენება პოსტებზე კომენტარების საჩვენებლად. WordPress კოდექსშიფუნქცია დეტალურად არის აღწერილი.
wp_list_comments-ს აქვს არგუმენტი 'უკურეკა', რომელშიც შეგიძლიათ განსაზღვროთ ფუნქცია, რომელიც გამოიძახება კომენტარის ჩვენებისას.
Comments.php ფაილში Twenty Eleven თემაში შეგიძლიათ იპოვოთ ხაზი:
Wp_list_comments (მასივი ("გამოძახება" => "ოცდაერთეთა_კომენტარი"));
მოდით შევცვალოთ:
Wp_list_comments (მასივი ("გამოძახება" => "ჩემი_კომენტარები_დარეკვა"));
თითოეული პოსტისთვის გამოიძახება my_comments_callback ფუნქცია.
ნაბიჯი 7: სტილის კომენტარებიახლა ჩვენ ცოტათი შევცვლით კომენტარის სტილს. ჩვენ უბრალოდ გამოვაჩენთ პოსტის შინაარსს და ასაკობრივ ველს, რომელიც ადრე დავამატეთ. ჩვენ ასევე შევცვლით ფონის ფერს კომენტარებისთვის.
ფუნქციის კოდი „my_comments_callback“:
ფუნქცია my_comments_callback($comment, $args, $depth) ( $GLOBALS["comment"] = $comment; ?>
Comments_template() ფუნქციის და სტატიაში ნახსენები სხვათა აღწერილობისა და მიღებული არგუმენტებისთვის იხილეთ WordPress Codex-ში.
შაბლონის მომზადებაშევეცადოთ გავიგოთ WP კომენტარების შაბლონები და შევქმნათ საკუთარი ფაილი ბლოგის პოსტებსა და გვერდებზე კომენტარების საჩვენებლად. მაგალითების სახით, შეგიძლიათ აიღოთ შაბლონები WordPress-ის სტანდარტული თემებიდან. შევქმნათ ახალი დოკუმენტი ნებისმიერ ტექსტურ რედაქტორში, დავარქვათ comments.php და დავიწყოთ რედაქტირება.
- პრინციპში, თქვენ შეგიძლიათ დაარქვით ფაილს რაც მოგწონთ და შემდეგ ჩაწერეთ ამ ფაილის გზა comments_template(), მაგრამ უმჯობესია დარჩეს სტანდარტული სახელი.
- თქვენ ასევე შეგიძლიათ შეცვალოთ ფაილი WP ადმინისტრაციულ პანელში, სხვათა შორის.
- უმჯობესია, რა თქმა უნდა, დაწეროთ კოდი და დაუყოვნებლივ შეამოწმოთ მისი ეფექტი თქვენს ბლოგზე ან ადგილობრივ სერვერზე.
WordPress-ში შესაძლებელია კომენტარების გამორთვა ცალკეულ პოსტებზე, ასე რომ, სანამ მათ გამოაჩენთ, უნდა შეამოწმოთ „ღიაობა“:
ეს არის შეფუთვის კოდი ჩვენი შემდგომი ქმედებებისთვის. ახლა მოდით მოვამზადოთ კონტეინერი კომენტარების ბლოკისთვის სემანტიკურად სწორი კლასით ან იდენტიფიკატორით (კლასი რა თქმა უნდა სასურველია):
ჩვენ დავწერთ სათაურს შიგნით, რათა თქვენმა მკითხველმა გაიგოს, რომ აქ არის კომენტარები და სხვა არაფერი, ტეგი სწორედ ამისათვის იქნება:
"
აქ ჩვენ მივუთითეთ WordPress-ის ერთ-ერთი ფუნქცია - the_title(), ამ ფუნქციის შესრულების შედეგი იქნება მიმდინარე პოსტის ან გვერდის სათაურის გამომავალი. თუ არ გსურთ სათაურის ჩვენება, შეგიძლიათ უბრალოდ დაწეროთ „მკითხველის კომენტარები“.
შემდეგი, კომენტარების ჩვენებამდე, თქვენ უნდა დარწმუნდეთ, რომ ისინი არსებობენ, ე.ი. შეამოწმეთ, თუ არის, აჩვენეთ სრული სია, თუ არა, მაშინ შეგიძლიათ აჩვენოთ მომხმარებელს რაღაც მსგავსი "". ამ გზით თქვენი პოსტის/გვერდის დამთვალიერებლისთვის ცხადი გახდება, რომ ჯერ არავის არაფერი დაუწერია, ხოლო მოტივაციური ფრაზა „შეგიძლია იყოთ პირველი“ გაზრდის იმის ალბათობას, რომ უფრო სწრაფად დაგიწერონ რამე.
ასე რომ, პრობლემის ამ ფორმულირების შემდეგ, ცხადი ხდება, რომ განხორციელებისთვის დაგვჭირდება if/else კონსტრუქტები და ფუნქცია კომენტარების რაოდენობის ჩვენებისთვის get_comments_number() . თუ ფუნქცია აბრუნებს 0-ს (ნულს), მაშინ ჩვენ ვაჩვენებთ "ჯერ კომენტარები არ არის...", წინააღმდეგ შემთხვევაში "მკითხველის კომენტარები...":
ჯერ არ არის კომენტარები, მაგრამ თქვენ შეგიძლიათ იყოთ პირველი მკითხველის კომენტარები სტატიაზე "" დისკუსიები დახურულია ამ გვერდისთვის
კომენტარების გამოტანაშესანიშნავია, ჩვენ ვაჩვენეთ სათაურები კომენტარების არსებობის ან არარსებობის მიხედვით, ახლა ლოგიკურია კომენტარების ჩვენება თავად - ამაზე პასუხისმგებელია wp_list_comments() ფუნქცია. ნაგულისხმევი ფუნქცია ახვევს ყველა კომენტარს ტეგებში
wp_list_comments() იღებს არგუმენტების მასივს, რომელიც შეიძლება გამოყენებულ იქნას კომენტარების ჩვენების მოქნილად მორგებისთვის. მაგალითად, შეგიძლიათ შეცვალოთ ავატარის ზომა, კომენტარის პასუხის ტექსტი და სხვა პარამეტრები საკვანძო სიტყვისა და მნიშვნელობის გადაცემით:
$args = მასივი("avatar_size" => 64, // ავატარის ზომა 64*64px, ნაგულისხმევი 32 "reply_text" => "Reply" // პასუხის ტექსტი კომენტარზე "callback" => "my_comments" // ფუნქცია გარე ტიპის კომენტარის შესაქმნელად)
გამოძახების პარამეტრი განსაკუთრებულ ყურადღებას იმსახურებს, რომელიც კომენტარის საჩვენებლად იღებს მორგებული ფუნქციის სახელის მნიშვნელობას. მისი დახმარებით თქვენ შეგიძლიათ მოქნილად მოარგოთ თითოეული კომენტარის გარეგნობა. ასე გამოიყურება სტანდარტული გამომავალი ფუნქცია კომენტარი-template.php ფაილიდან:
შეიძლება სასარგებლო იყოს წაკითხვა:
- სიმღერა გაზზე, მაქსიმ გორკის ლექსი;
- რა უნდა გააკეთოთ, თუ თქვენი კომპიუტერი შენელდება და იყინება;
- სისტემური მოთხოვნები კომპიუტერზე;
- WordPress კომენტარები – სრული გარეგნობის დიზაინი;
- გამოთვლილი ველები SKD 1s 8-ში;
- როგორ ავიცილოთ თავიდან Google Chrome PDF ფაილების გახსნა რატომ არ იხსნება PDF ბრაუზერში;
- როგორ დააკავშიროთ პრინტერი ლეპტოპს რამდენიმე წუთში;
- სამი უფასო DVD გადამყვანი დისკების mp4 ფორმატში გადასაყვანად;