WordPress üçün sadə bir FAQ plaginini necə yaratmaq olar

Bir çox blogçuluq məsləhətləri və alətlərindən əvvəl gördük. Bəli, bu gün blogunuz üçün yaxşı bir vasitə – FAQ səhifə plaginini necə yaratmağı öyrənəcəyik. Ancaq ən vacib şey yalnız plugin özü deyil, bu prinsiplə nə edə biləcəyinizdir. Hər hansı bir məlumat növünü WP saytınızda necə saxlayacağınızı və saytınız üçün xüsusi komponentlər yaradan xarici kitabxanalarla (jQuery UI kimi) necə birləşdirəcəyinizi öyrənəcəksiniz. Gəlin başlayaq!


Fikir, Demo & Yükləyin

demo

Burada məqsədimiz çox şey üçün istifadə edilə bilən, lakin FAQ səhifələrinə olduqca uyğun bir plagin yaratmaqdır.

Ancaq bundan başqa bizim əsas uğurumuz WordPress xüsusi poçt növləri, qısa kodlar, xarici JS / jQuery plaginləri ilə qarşılıqlı əlaqə anlayışı olacaqdır. Bu fikirlə orada tapa biləcəyiniz digər dəli plaginlər əsasında çox şey yarada bilərsiniz, əziz Padawan, bu yalnız sizin üçün başlanğıc nöqtəsidir.

Beləliklə, burada istifadə edəcəyimiz komponent üçün jQuery API demolarını tapa bilərsiniz – amma həqiqətən yaxşı şey bu komponenti (PHP) yaratmaq üçün istifadə olunan koddur..

İstiləşmə – Plugin faylı və Xüsusi Yazı növü

Əvvəlcə məlumatlarımızı saxlamaq üçün xüsusi bir poçt növü yaratmalıyıq.

Xüsusi Yazı növləri WP sehrinin böyük bir hissəsidir, yeni bir məlumat növü (mesajlar, səhifələr, əlavələr .. kimi) yaratmağa imkan verir, buna görə WP funksiyalarından istifadə edərək idarə etmək mümkündür. Bu yeni başlayanlar üçün sadə görünə bilər, ancaq köhnə dövrdə olan PHP proqramçıları (hələ bu bir şeydir?) Məlumatların DB-də bağlanması və saxlanmasının nə qədər çətin olduğunu bilirlər. Dinamik olaraq yeni məlumat növləri yaratsın, bu incədir, lakin kodumuzda böyük bir rahatlıq verir.

Bunun üçün bizə bir plugin lazımdır, amma yəqin ki, bu konsepsiya ilə artıq tanışsınız. Pluginlər WordPress üçün Lego bloklarına bənzəyir, asanlıqla qoşula bilən (duh!) Və ya istəsəniz də boşaldıla bilən bəzi kodu istifadə edərək hazırkı funksionallıq əlavə edir və ya dəyişdirir..

WP’nin tanıdığı bir şəkildə bir plugin yaratmaq üçün sizə 2 şey lazımdır:

  1. Wp-content / plugins / daxilinizdə bir fayl yaradın
  2. WP bunun nə olduğunu başa düşə bilməsi üçün həmin faylın əvvəlində metadata əlavə edin

Unutmayın ki, kimsə plagininizi (hətta özünüzü) quraşdırdıqda cari pluginlərlə heç bir münaqişə olmayacaqdır. Daha yaxşı bir təşkilat üçün vəziyyətimizə faq-whsr adı ilə yeni bir qovluq əlavə edəcəyik və içərisində faq-whsr.php adlı bir fayl var..

İndi metada üçün, plugins faylınızın əvvəlində (dərhal sonra) belə bir şey əlavə edin <?php):

meta_01

Bu nə deməkdir:

  • Plugin Adı: wp-admininizdə göstəriləcək gözəl ad > plugins interfeysi
  • Plugin URI: Plugin səhifəsinə bir link əlavə etmək istəyirsinizsə (sənədlər, nümunələr, satış səhifəsi)
  • Təsvir: Bu, sizin wp-admininizdə göstərilən kiçik paraqrafdır > plugins interfeysi. Sadə saxlayın, istifadəçilər bunun nə olduğunu xatırlayacaqlar
  • Müəllif / Müəllif URI: Plagin və kreditlər üçün bir əlaqə yaratan şəxs / şirkət
  • Lisenziya: Beləliklə istifadəçilər plugin ilə nə edə biləcəyini / edə bilmədiklərini biləcəklər

Ok, indi pluginimizi yaratdıq, uyğun metadata əlavə etdik. Plugin sənədinizi saxlayan kimi onu wp-admin interfeysinizdə görə bilməlisiniz

Gəlin onu aktivləşdirək və nə olacağını görək.

Gözləyin, heç nə yoxdur? Bəli, bu, yaxşı bir şeydir, əgər bir şey səhv olubsa, bir səhv görərsən. Xüsusi yazı tipi yaratmağa keçək.

Bizim vəziyyətimizdə CPT FAQ maddəsidir, ancaq kitablar, videolar, ifadələr və s. Yarada bilərsiniz. Burada yadda saxlamaq lazım olan şey: funksiyalar adları unikal olmalıdır. İndi mənimlə təkrarlayın: funksiyalar adları unikal olmalıdır, funksiyalar adları unikal olmalıdır. Anladım? Yaxşı, bu OOP istifadə edə bilməyincə (bəlkə də növbəti dərslərdə) bir çox probleminizi xilas edəcək..

Sehirbazlıq bu kodla edilir:

cpt

Müvafiq hissələrin mənası budur:

  • $ etiketlər – etiketlər və wp-admin sahənizin müxtəlif bölmələri üçün mətn olan bir sıra. Beləliklə WP əşyalarımızı çağırmağın düzgün yolunu biləcəkdir
  • dəstəkləyir – bu wp-admində görə biləcəyinizi söyləyir > Suallar > yeni ekran. Bizim vəziyyətimizdə başlıq, redaktor (əsas məzmun qutusu), müəllif, düzəlişlər və xüsusi sahələr olacaq (istəsəniz).
  • taksonomiya – burada WP-yə hansı taksonomiyaların icazə verildiyini izah edin (kateqoriyalar, etiketlər və ya xüsusi taksonomiyalar)
  • register_post_type (‘faq_whsr’, $ args) – bu WP-yə “Hey, $ args-dakı arqumentlərdən istifadə edərək ID ilə fəq_whsr kimi yeni bir xüsusi yazı növü yaradın” deyir..

Saxla və nəfəsini tut. İndi əsas wp-admin menyusunda yeni bir bölmə görməlisiniz

Gözləyin, budur? Bəli. Bu parça bütün CPT funksionallığını yaradır. Bu sərin tapa bilmirsinizsə, növbəti hissədə sərinləşəcəyini gözləyin.

Wp-admin-i tərk etməzdən əvvəl bəzi dummy məlumatları əlavə edin (ən azı 2 kateqoriyalı bir neçə fəq).

Front-End – WP x jQuery qarşılıqlı əlaqəsi

İndi nəhayət bir hərəkət görmək vaxtı gəldi və bunun üçün jQuery UI Accordion elementindən istifadə edəcəyik.

jQuery UI jQuery özü ilə eyni dərəcədə üstünlüklərə malikdir:

  • Bunun üzərində işləyən bir çox inkişaf
  • Çarpaz brauzer və mobil hazır kod
  • Yaxşı sənədləşdirilmişdir
  • WP ilə gözəl oynayır (WP özü bunlardan istifadə edir)

İndi sual budur: onu necə adlandırırıq?

Buna 2 yanaşma var:

  1. Wp_head-dakı pis saf / etiketlər
  2. Gözəl wp_enqueue

Bu gün yanlış yanaşma ilə çox vaxt itirməyəcəyik, amma yaxşısı əsasən WP-yə “hey dostum, kodumuzun bəzi nöqtələrində jQuery UI-lərə ehtiyac duyacağıq, xahiş edirəm səhifəyə daxil edin” dedi. Bu yolla WP, başqa birinin əvvəllər daxil olub olmadığını və ya fərqli bir versiyasını daxil edib-etmədiyini yoxlaya bilər və çoxalmış kitabxanalardakı problemlərdən qaça bilər. Ok, o gözəl söhbəti koda necə tərcümə etmək olar?

Enqueue funksiyasından istifadə:

enqueue_02

Qısa şifrə

İndi yenidən wp-adminə qayıtdıq. FAQ maddələrimiz var və əşyaları istədiyimiz kimi tərtib etmək üçün kitabxanamız var, başqa nə yoxdur? Yaxşı, əşyalara zəng etməliyik!

Bunun üçün bir çox variantımız var, lakin bu iş üçün ən asan qısa kod yaratmaqdır. Qısayol kodu, məzmun sahəsinə əlavə etdiyiniz bir şeydir (səhifələr, yazılar, CPT-lər üçün …) və WP əslində bu funksiyanı axtaracaqdır. Qısayolların 2 növü var:

  1. [özünü örtən] – Etiketlər kimi və ya
    bu cür qısa şifrə yalnız bir anda bir funksiya çağırır – bu bizim oğlan
  2. [bükülmüş] Məzmun [/ bükülmüş] – Bu etiketlərə bənzəyir

    və ya əslində məzmununu dəyişdirə bilər və ya məzmunu dəlil kimi istifadə edə bilər.

Gəlin görək necə işləyir. Wp-admin-də yeni bir səhifə yaradın və bu kodu əlavə edin:

[faq-whsr]

Saxlayın və həmin səhifəni ziyarət edin və nə olacağını görün …

Sadəcə zarafat edirəm, düzgün bir şey etməz? Bəli, buna görə hələ bir funksiya yaratmamışıq.

Bunu plugin faylınıza əlavə edin:

shortcode_02

İndi səhifənizi yeniləyin və həqiqətən sərin bir şey olacağını vəd edirəm.

Sərin, hə? İndi görürsən ki, qaçır və göy sənin üçün artıq hədddir. Bu kodun nə olduğunu yalnız WP-yə deyin ki, [faq-whsr] adlanan qısa bir kod var və əgər WP onu tapırsa, WP səhifənin o nöqtəsində bir funksiya işlətməlidir.

Bizim vəziyyətimizdə jQuery UI panelinin yaradılması üçün bu quruluşa nail olmalıyıq:

api_02

Bunun üçün bir WP Sorgusu yaradacağıq, suallarımızı və içindəki məzmunu yükləyəcəyik. Qısayol kodunun funksiyasını bu ilə dəyişdirin:

qısa kod-əsas_02

Ok, indi suallarınız cavablandırılacaq. Etdiklərimiz, wp_query’i xüsusi poçt tipimizə zəng etmək üçün çağırmaq və sonra onu qısa kod kodunun geri qaytarılmasına ötürməkdir, beləliklə WP hamısını istədiyiniz quruluşa uyğun olaraq göstərəcəkdir..

Yaxşıdır, amma nəsə çatışmır, elə deyilmi? Oradakı bəzi seçimlər haqqında nə demək olar? Qısa şifrə üçün seçimlər əlavə edə bilərik, qısa kodumuzda bir neçə WP_Query arqumentini necə yaratmağımıza baxaq:

qısa kod-final_02

Bu yolla aşağıdakı dəlillərdən istifadə edərək maddələrə zəng edə bilərsiniz (istədiyiniz qədər birləşdirə bilərsiniz):

  • pişik – kateqoriya şəxsiyyəti (seriala çox əlavə olunur) [faq-whsr cat = 1]
  • kateqoriya_name – kateqoriya adı [faq-whsr category_name = “qida”]
  • sifariş – ASC və ya DESC (DESC standartdır) [faq-whsr order = “ASC”]
  • sifariş – maddələrin sifariş edilməsi meyarlarını dəyişdirin [faq-whsr orderby = “başlıq”]
  • posts_per_page – yüklənmiş əşyaların sayını dəyişdirin [faq-whsr posts_per_page = 5]

Ancaq dediyim kimi, göy sənin üçün həddi aşır dostum. WP_Query üçün tətbiq və istifadə edə biləcəyiniz bir neçə seçim var:

  • Müəllif
  • Kateqoriya (not_in ilə əlavə variantları əlavə edin)
  • Axtarış (istifadəçilərə axtarış etmək imkanı vermək istəsəniz sərin olsun)
  • Xüsusi Sahə (FAQ elementləri olduğundan, xüsusi sahələri və dəyərləri olan əşyaları yükləmək üçün istifadə edə bilərsiniz)

İndi növbə

Bu, gördüyünüz kimi sizin üçün yalnız başlanğıc nöqtəsidir. Bu sadə plagini yaxşılaşdırmaq üçün hamımızın bir çox başqa şeylərini öyrənə bilərik, burada daha yaxşı qazmağınız üçün bir neçə təklif var.

  • Həssas dizayn
  • Widget yaradılması
  • Plugin qarmaqları aktivləşdirir / de-aktivləşdirir
  • Beynəlmiləlləşmə
  • OOP
  • Yalnız lazım olduqda enqueueing (müəyyən səhifələr üçün)

Fikirlərinizi şərhlərdə buraxmağı unutmayın! Budur sizin üçün problemimiz: Qısa şifrə üçün “standart element” seçimini tətbiq etmək mümkündürmü (buna görə səhifə yüklənəndə başqa bir element açılacaq, bu ilk deyil)? Bunu necə edərdiniz?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map