ჩვენ ვნახეთ ბლოგინგზე მრავალი რჩევა და ინსტრუმენტი. დღეს, ჩვენ ვისწავლით თუ როგორ უნდა შექმნათ კარგი ინსტრუმენტი თქვენი ბლოგი – FAQ გვერდის მოდული. მაგრამ ყველაზე მნიშვნელოვანი არ არის მხოლოდ მოდული, არამედ ის, რაც ამ პრინციპით შეგიძლიათ გააკეთოთ. თქვენ შეიტყობთ, თუ როგორ უნდა შეინახოთ ნებისმიერი ტიპის მონაცემები თქვენს WP საიტზე და როგორ უნდა ინტეგრიროთ იგი გარე ბიბლიოთეკებში (როგორიცაა jQuery UI) თქვენი საიტისთვის შექმნის პერსონალურ კომპონენტებს. Დავიწყოთ!


იდეა, დემო & გადმოწერა

დემო

ჩვენი მიზანია შექმნათ მოდული, რომელიც შეიძლება გამოყენებულ იქნას ბევრი რამისთვის, მაგრამ საკმაოდ კარგად ჯდება FAQ გვერდებზე.

მაგრამ ამის გარდა ჩვენი მთავარი მიღწევა იქნება WordPress- ის საბაჟო ფოსტის ტიპების, მალსახმობების, საგარეო JS / jQuery მოდულების ურთიერთქმედების გაგება. ამ იდეით თქვენ შეგიძლიათ შექმნათ ბევრი პერსონალი სხვა გიჟური მოდულების საფუძველზე, რომლებიც იქ შეგიძლიათ იპოვოთ, ეს მხოლოდ თქვენთვისაა ამოსავალი წერტილი, ძვირფასო პადვან.

ასე რომ, აქ შეგიძლიათ იპოვოთ jQuery API დემო იმ კომპონენტისთვის, რომელსაც ჩვენ ვიყენებთ – მაგრამ ნამდვილად მაგარი პერსონალია კოდი, რომელიც იყენებს ამ კომპონენტს (PHP) წარმოქმნას..

დათბობა – მოდული ფაილი და საბაჟო საფოსტო ტიპი

პირველ რიგში, ჩვენი მონაცემების შესანახად უნდა შევქმნათ პერსონალური ფოსტის ტიპი.

Custom Post انواع ტიპები WP- ის ჯადოქრობის დიდი ნაწილია, ეს საშუალებას გაძლევთ შექმნათ მონაცემთა ახალი ტიპი (მსგავსი ტიპის შეტყობინებები, გვერდები, დანართები ..), ასე რომ, მისი WP ფუნქციების გამოყენებით შეგიძლიათ დაერქვათ და მანიპულირება. დამწყებთათვის ეს შეიძლება მარტივი ჩანდეს, მაგრამ მხოლოდ ძველი დროის PHP პროგრამისტებმა (ეს ხომ მაინც რამეა?) იციან რამდენად რთული იყო მონაცემების დაკავშირება და შესანახად თქვენს DB- ში. რომ აღარაფერი ვთქვათ, დინამიურად შევქმნათ მონაცემთა ახალი ტიპები, ეს არის დახვეწილი, მაგრამ საშუალებას იძლევა მოქნილობა მოაწყოს ჩვენს კოდში.

იმისათვის, რომ ეს გვქონდეს, ჩვენ გვჭირდება დანამატი, მაგრამ ალბათ თქვენ უკვე იცნობთ ამ კონცეფციას. მოდელები WordPress- სთვის Lego- ს ბლოკებს ჰგავს, ისინი დაამატებენ ან გარდაქმნიან მიმდინარე ფუნქციონირებას ზოგიერთი კოდის გამოყენებით, რომლის ადვილად ჩასმაა შესაძლებელი (duh!), ან ასევე გამორთულია თუ გინდათ..

მოდულის შესაქმნელად ისე, რომ WP აღიარებს მას, გჭირდებათ 2 საკითხი:

  1. შექმენით ფაილი თქვენი wp-შინაარსის / მოდულების /
  2. დაამატეთ მეტამონაცემები ამ ფაილის დასაწყისში, ასე რომ WP- ს შეუძლია გაიგოს, რაზეა საუბარი

გაითვალისწინეთ, რომ ფაილის სახელი უნდა იყოს უნიკალური, ასე რომ, როდესაც ვინმე დააყენებს თქვენს მოდულს (თუნდაც საკუთარ თავს), აღარ იქნება კონფლიქტი მიმდინარე დანამატებთან. ჩვენს შემთხვევაში უკეთესი ორგანიზაციისთვის, ჩვენ დავამატებთ ახალ საქაღალდეს, სახელწოდებით faq-whsr, და მის შიგნით ფაილს სახელწოდებით faq-whsr.php.

ახლა მეტადათვის, დაამატეთ მსგავსი რამ თქვენი მოდულების ფაილის დასაწყისში (ამის შემდეგ დაუყოვნებლივ <?php):

მეტა_01

Რაც ნიშნავს:

  • მოდულის სახელი: ლამაზი სახელი, რომელიც ნაჩვენები იქნება თქვენს wp-admin > მოდულების ინტერფეისი
  • მოდული URI: თუ გსურთ დაამატოთ ბმული თქვენი მოდულის გვერდზე (დოკუმენტები, მაგალითები, გაყიდვების გვერდი)
  • აღწერა: ეს არის მცირე პუნქტი, რომელიც ნაჩვენებია თქვენს wp-admin- ში > მოდულების ინტერფეისი. შეინახეთ ეს მარტივად, რათა მომხმარებლებმა დაიმახსოვრონ რა არის ეს
  • ავტორი / ავტორი URI: პირი / კომპანია, ვინც შექმნა მოდული და ბმული კრედიტებისთვის
  • ლიცენზია: ასე რომ, მომხმარებლებმა იციან, რა შეუძლიათ / ვერ გააკეთონ თქვენი მოდულით

კარგი, ახლა ჩვენ შევქმენით ჩვენი მოდული, დაამატეთ შესაბამისი მეტამონაცემები. თქვენი მოდულის ფაილის შენახვისთანავე უნდა ნახოთ ის თქვენს wp-admin ინტერფეისში

მოდით გავააქტიუროთ და ვნახოთ რა ხდება.

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

ჩვენს შემთხვევაში CPT არის FAQ პუნქტი, მაგრამ თქვენ შეგიძლიათ შექმნათ წიგნები, ვიდეო, ჩვენებები და ა.შ. აქ მთავარია გახსოვდეთ: ფუნქციების სახელები უნდა იყოს უნიკალური. გაიმეორეთ ახლა ჩემთან: ფუნქციების სახელები უნდა იყოს უნიკალური, ფუნქციების სახელები უნდა იყოს უნიკალური. Გავიგე? კარგი, ეს გადაარჩენს უამრავ პრობლემას, სანამ არ შეგვიძლია გამოვიყენოთ OOP (შესაძლოა შემდეგ სამეცნიერო პროგრამაში).

ოსტატი შესრულებულია ამ კოდით:

შპს

ეს ნიშნავს რას ნიშნავს შესაბამისი ნაწილები:

  • $ ეტიკეტები – ეს არის მასივი, რომელზეც არის ეტიკეტები და ტექსტი თქვენი wp-admin ფართის სხვადასხვა მონაკვეთებისთვის. ასე რომ, WP- ს ეცოდინება ჩვენი საგნების დარეკვის სწორი მეთოდი
  • მხარს უჭერს – ეს მოგვითხრობს რას ნახავთ wp-admin- ში > ხშირად დასმული კითხვები > ახალი ეკრანი. ჩვენს შემთხვევაში გვექნება სათაური, რედაქტორი (ძირითადი შინაარსის ყუთი), ავტორი, გადასინჯვები და საბაჟო ველები (თუ გსურთ ისინი).
  • ტაქსონომიები – აქ თქვენ ბრძანებთ WP- ს რომელ ტაქსონომიაზეა დაშვებული (კატეგორიები, ნიშნები ან საბაჟო ტაქსონომიები)
  • Register_post_type (‘faq_whsr ‘, $ args) – ეს ეუბნება WP- ს” ჰეი, შექმენით პირადობის ახალი ტიპის ტიპი, როგორც faq_whsr, გამოყენებით არგუმენტები $ არგუმენტებიდან “.

შეინახეთ იგი და შეინარჩუნეთ სუნთქვა. ახლა თქვენ უნდა ნახოთ ახალი განყოფილება თქვენს მთავარ wp-admin მენიუში

დაელოდე, ეს ასეა? ჰო. ეს ბროფი ქმნის CPT- ის მთელ ფუნქციონირებას. თუ ამ სიცივეს ვერ იპოვით, დაელოდეთ, რომ იგი გაცივდება შემდეგ ნაწილში.

სანამ wp-admin გამოვდივართ, დაამატეთ რამდენიმე dummy მონაცემები (რამდენიმე ვიკი მინიმუმ 2 კატეგორიის).

Front-End – WP x jQuery ურთიერთქმედება

ახლა უკვე დროა ვნახოთ გარკვეული მოქმედება და ამისათვის ჩვენ გამოვიყენებთ jQuery UI Accordion ელემენტს.

jQuery UI- ს თითქმის იგივე უპირატესობები აქვს, როგორც თავად jQuery:

  • მასზე მუშაობს მრავალი დეველოპერი
  • ჯვარედინი ბრაუზერი და მობილური მზა კოდი
  • Კარგად დოკუმენტირებული
  • კარგად თამაშობს WP- სთან (WP თავად იყენებს მათ)

ახლა კითხვაა: როგორ ვუწოდოთ მას?

ამისათვის არსებობს 2 მიდგომა:

  1. ცუდი სუფთა / ტეგები თქვენს wp_head- ში
  2. ლამაზი wp_enqueue

არასწორი მიდგომით დღეს ძალიან დიდ დროს არ დავკარგავთ, მაგრამ კარგი ნამდვილად ვეუბნებით WP- ს “hey მეგობარო, ჩვენ დაგჭირდებათ jQuery UI ჩვენი კოდის გარკვეულ მომენტში. გთხოვთ, შეიტანოთ იგი გვერდზე”. ამ გზით WP– ს შეუძლია შეამოწმოს თუ ვინმემ უკვე შეიტანა იგი ან შეიცვალა მისი განსხვავებული ვერსია და თავიდან აიცილოს უამრავი პრობლემა დუბლირებული ბიბლიოთეკით. კარგი, როგორ გადავთარგმნათ ეს ლამაზი ჩატი კოდში?

ენიურის ფუნქციის გამოყენებით:

enqueue_02

მოკლე კოდი

ახლა ჩვენ ვუბრუნდებით wp-admin. ჩვენ მივიღეთ FAQ კითხვები და მივიღეთ, რომ ბიბლიოთეკა დავალაგოთ ელემენტები, როგორც ჩვენ გვინდა, სხვა რა აკლია? ისე, ნივთებს უნდა დავურეკოთ!

ამისათვის უამრავი ვარიანტი გვაქვს, მაგრამ ამ საქმისათვის ყველაზე ადვილია შტრიხკოდების შექმნა. მოკლე კოდი არის ის, რასაც დაამატებთ თქვენს შინაარსის ველში (გვერდებზე, შეტყობინებებზე, CPT- ზე …) და WP რეალურად ეძებს ფუნქციას, რომლითაც ის განახორციელებს. არსებობს 2 ტიპის კოდი:

  1. [თვითდაბლოკვა] – წარწერების მსგავსად ან
    ამ ტიპის კოდი უბრალოდ უწოდებს ფუნქციას რაღაც მომენტში – ეს არის ჩვენი ბიჭი
  2. [გახვეული] შინაარსი [/ გახვეული] – ეს ჰგავს ტეგებს

    ან, ფაქტობრივად, შეუძლია შეცვალოს მისი შინაარსი, ან გამოიყენოს შინაარსი, როგორც არგუმენტები.

ვნახოთ, როგორ მუშაობს მაშინ. შექმენით ახალი გვერდი თქვენს wp-admin- ში და დაამატეთ ეს კოდი აქ:

[faq-whsr]

შეინახეთ ეს გვერდი და ეწვიეთ რა ხდება…

უბრალოდ ხუმრობ, არ შეიძლება რამე გავაკეთოთ? ეს იმიტომ ხდება, რომ ამაზე ჯერ არ შექმნან ფუნქცია.

დაამატეთ ეს თქვენი დანამატის ფაილში:

მოკლე კოდი_02

ახლა განაახლეთ თქვენი გვერდი და გპირდებით, რომ რამე მაგარი მოხდება.

მაგარი, არა? ახლა თქვენ ხედავთ, რომ ის გადის და ცა ახლა ლიმიტია თქვენთვის. რას აკეთებს ეს კოდი, უბრალოდ ვუთხრა WP- ს, რომ არსებობს კოდი, რომელსაც უწოდებენ [faq-whsr] და თუ WP აღმოაჩენს, WP– მა უნდა აწარმოოს ფუნქცია გვერდის ამ წერტილში..

ჩვენს შემთხვევაში, ჩვენ უნდა მოვიძიოთ ეს სტრუქტურა jQuery UI პანელის შესაქმნელად:

api_02

ამისათვის ჩვენ შევქმნით WP მოთხოვნას, ჩატვირთეთ ჩვენი FAQ ელემენტები და მათი შინაარსი. შეცვალეთ კოდირების ფუნქცია ამით:

მოკლე კოდი-ძირითადი_02

კარგი, ახლა თქვენს FAQ ელემენტებს დაურეკავთ. რაც ჩვენ გავაკეთეთ არის wp_query დაურეკოთ ჩვენს ჩვეულ ფოსტის ტიპს და შემდეგ გადაიტანოთ იგი კოდირების დაბრუნებაზე, ასე რომ WP აჩვენებს ყველა მათგანს სასურველი სტრუქტურის მიხედვით.

კარგია, მაგრამ რაღაც აკლია, არა? რაც შეეხება აქ რამდენიმე ვარიანტს? ჩვენ შეგვიძლია დავამატოთ პარამეტრების კოდი, მოდით ვნახოთ როგორ შევქმნათ რამდენიმე WP_Qu არგუმენტი ჩვენს მოკლე კოდში:

მოკლე კოდი-საბოლოო_02

ამ გზით შეგიძლიათ დაურეკოთ ელემენტები შემდეგი არგუმენტების გამოყენებით (შეგიძლიათ დააკავშიროთ იმდენი, რამდენიც გსურთ):

  • კატა – კატეგორიის ID (მრავალჯერადი დაემატა მასიურად) [faq-whsr cat = 1]
  • category_name – კატეგორიის სახელი [faq-whsr კატეგორია_name = ”საკვები”]
  • შეკვეთა – ASC ან DESC (DESC ნაგულისხმევია) [faq-whsr ბრძანება = “ASC”]
  • შეკვეთით – შეცვალეთ ნივთების შეკვეთის კრიტერიუმები [faq-whsr orderby = ”სათაური”]
  • Posts_per_page – შეცვალეთ დატვირთული ელემენტების რაოდენობა [faq-whsr posts_per_page = 5]

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

  • ავტორი
  • კატეგორია (დამატებით პარამეტრების დამატება არა_ინთან ერთად)
  • ძებნა (მაგარია, თუ გსურთ მომხმარებლებს მისცეს მათ მეშვეობით მოძებნონ)
  • საბაჟო ველი (მას შემდეგ, რაც მათში მოცემულია FAQ ელემენტები, შეგიძლიათ გამოიყენოთ მათი სპეციფიკური ველებითა და მნიშვნელობებით დატვირთვისთვის)

Ახლა შენი ჯერია

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

  • საპასუხო დიზაინი
  • ვიჯეტის შექმნა
  • მოდულის გააქტიურება / დეაქტივაცია კაკვები
  • ინტერნაციონალიზაცია
  • OOP
  • საჭიროების შემთხვევაში დაყენება (გარკვეული გვერდებზე)

არ დაგავიწყდეს შენი აზრების დატოვება კომენტარებში! და აქ არის ჩვენი გამოწვევა: შესაძლებელია თუ არა თქვენ გამოიყენოთ “ნაგულისხმევი ელემენტი” ვარიანტი კოდირებისთვის (ასე რომ, როდესაც გვერდი იტვირთება, კიდევ ერთი ნივთი გაიხსნება, ეს არ არის პირველი)? როგორ გააკეთებ?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me