დროა დაამატოთ კომენტარი კომენტარის პასუხი. 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 - გამოიყენება კომენტარის გაგზავნის ღილაკზე ტექსტის შესაცვლელად.
ნაბიჯი 2. შეცვალეთ კომენტარის ფორმა comment_form ფუნქციის გამოყენებით

ახლა მოდით დავაყენოთ ჩვენი კომენტარის ფორმა კომენტარის_ფორმის ფუნქციაზე არგუმენტების გადაცემით.

იმ შემთხვევაში, თუ ჩვენ გვჭირდება ველების მორგება კომენტარის ფორმაში, უნდა გადავიტანოთ მათი სია კომენტარის_ფორმის ფუნქციაზე. ნაგულისხმევად, ფუნქცია იყენებს ველების შემდეგ ჩამონათვალს:

$fields = მასივი ("ავტორი" => "

" . "" . __("სახელი") . " " . ($req ? "*" : "") ."

", "email" => " ", "url" => "

" . __("ვებგვერდი") . "" ."

",);

თუ ჩვენ გვჭირდება ველის ამოღება, მაგალითად, ვებსაიტი, უბრალოდ უნდა გამოვრიცხოთ იგი მასივიდან და გადავიტანოთ მასივი comment_form ფუნქციაზე.

$კომენტატორი = wp_get_current_commenter(); $req = get_option ("ათხოვოს_სახელი_ელფოსტა"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = მასივი ("ავტორი" => "

" . "" . __("სახელი") . " " . ($req ? "*" : "") ."

", "email" => " ",);$comments_args = მასივი("ველები" => $ველები); comment_form($comments_args);

გარდა ამისა, ჩვენ ასევე შევცვლით ფორმის სახელს „გთხოვთ მოგვაწოდოთ თქვენი ღირებული კომენტარი“ და ღილაკზე წარწერა „ჩემი კომენტარის გაგზავნა“.

დავალების შესასრულებლად, ჩვენ გადავცემთ შემდეგ არგუმენტებს comment_form ფუნქციას:

$კომენტატორი = wp_get_current_commenter(); $req = get_option ("ათხოვოს_სახელი_ელფოსტა"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = მასივი ("ავტორი" => "

" . "" . __("სახელი") . " " . ($req ? "*" : "") ."

", "email" => " ",); $comments_args = array("fields" => $fields, "title_reply"=>"გთხოვთ მოგვაწოდოთ თქვენი ღირებული კომენტარი", "label_submit" => "გააგზავნე ჩემი კომენტარი"); comment_form($comments_args);

ახლა კომენტარის ფორმა ასე გამოიყურება:

ნაბიჯი 3. ველების ამოღება ფორმიდან კაკლის გამოყენებით

ასევე, 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);

მონაცემების შენახვის შემდეგ, ის შეიძლება გამოვიდეს კომენტარის სახით:

ნაბიჯი 5. კომენტარების დაყენება კონკრეტული ტიპის პოსტებისთვის

ზოგჯერ გსურთ გამოიყენოთ კომენტარების ველები მხოლოდ გარკვეული ტიპის პოსტებისთვის. მოდით შევცვალოთ კოდი, რათა გამოჩნდეს ასაკის ველი მხოლოდ წიგნის ჩანაწერის ტიპისთვის:

ფუნქცია 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() ფუნქცია. ნაგულისხმევი ფუნქცია ახვევს ყველა კომენტარს ტეგებში

  • , ასე რომ თქვენ უნდა დაამატოთ შეფუთვა კლასის assignment.commentlist-ით:

    wp_list_comments() იღებს არგუმენტების მასივს, რომელიც შეიძლება გამოყენებულ იქნას კომენტარების ჩვენების მოქნილად მორგებისთვის. მაგალითად, შეგიძლიათ შეცვალოთ ავატარის ზომა, კომენტარის პასუხის ტექსტი და სხვა პარამეტრები საკვანძო სიტყვისა და მნიშვნელობის გადაცემით:

    $args = მასივი("avatar_size" => 64, // ავატარის ზომა 64*64px, ნაგულისხმევი 32 "reply_text" => "Reply" // პასუხის ტექსტი კომენტარზე "callback" => "my_comments" // ფუნქცია გარე ტიპის კომენტარის შესაქმნელად)

    გამოძახების პარამეტრი განსაკუთრებულ ყურადღებას იმსახურებს, რომელიც კომენტარის საჩვენებლად იღებს მორგებული ფუნქციის სახელის მნიშვნელობას. მისი დახმარებით თქვენ შეგიძლიათ მოქნილად მოარგოთ თითოეული კომენტარის გარეგნობა. ასე გამოიყურება სტანდარტული გამომავალი ფუნქცია კომენტარი-template.php ფაილიდან:




     

    შეიძლება სასარგებლო იყოს წაკითხვა: