WordPress Plugin Qazan 101: Başlamaq üçün necə

WordPress Plugin Qazan 101: Başlamaq üçün necə

WordPress Plugin Qazan 101: Başlamaq üçün necə
СОДЕРЖАНИЕ
02 июня 2020

Təxminən 10 il əvvəl WordPress plaginlərinin yarandığı gündən bəri onları yazmaq tərzimizdə çox şey dəyişməyib. Əsasən vəhşi Qərbin izlədiyi bir başlığı olan bir əsas plugin faylı var. Qarmaqlardan istifadə etməkdən əlavə, plaginlər düzəltməyin standart yolu yoxdur.


Bu, mütləq problem deyil. Bir idarəetmə çərçivəsinə ehtiyac olmayan bir çox sadə plagin var və mükəmməl uyğun prosedur kodu yaza bilən insanlar var. Dedi ki, plaginlərdəki kod keyfiyyəti ümumiyyətlə ən yaxşı deyil, bir çərçivə və ya metodologiya onu artırmaqda uzun bir yol keçəcəkdir.

Bu yazıda bir mümkün həll yoluna baxacağam – WordPress Plugin qazan plitəsi. Plugin inkişafının başlanğıc nöqtəsi, standart bir plagin yaratmaq üçün obyekt yönümlü bir yol olması nəzərdə tutulur. OOP prinsipləri ilə kodlandığından, əsasən ara kodlayıcılar üçün nəzərdə tutulmuşdur, ancaq hara getdiyini bilsəniz, onu bir başlanğıc kimi də asanlıqla istifadə edə bilərsiniz. Bu yazının sonunda, kodlaşdırma təcrübənizdən asılı olmayaraq nəyin və nəyə başlamağın yollarını bilməlisiniz..

Ümumi Fayl Quruluşu

Qazan qabının Github depo kimi istifadə edilməsi nəzərdə tutulur, buna görə əsas qovluqda ümumiyyətlə Github reposlarında tapılan fayllar var. README.md faylı ümumi oxunuşdur və əsas depo səhifənizdə təsvir kimi göstərilir. CHANGELOG.md faylı versiya ilə .gitignore faylı arasında dəyişiklikləri qeyd etmək üçündür, fayllarla işləyərkən gözardı etməli olan sənədlərin yaradılması üçün..

Burada əsas qovluq plugin adı, plagin saxlandığı yerdir. Onun quruluşu WordPress anbarını izləyir və edə bilərsiniz "kontrol" bu qovluğu SVN plagin reposuna. Varsayılan olaraq, plagininiz üçün şəkillər və ekran görüntülərini saxlayan aktiv qovluq və plagin üçün kod olan magistral qovluq var.

Magistral qovluq plagin içərisindədir, bu qovluğu bir WordPress quraşdırma yerinə yapışdırıb plagininizi aktivləşdirə bilərsiniz. Bu qovluğun məzmununa bir az sonra ətraflı baxacağıq. Bunu etməzdən əvvəl, mağaza açaq.

yeni plugin

Hamısını qurmaq

Bütün bu qovluqların və SVN / Git möhtəşəmliyinin bir yerdə olması yaxşı və yaxşıdır, amma bundan necə istifadə edə bilərsiniz? Bütün qovluğu birbaşa plaginlər qovluğunuza yoxlaya bilməzsiniz, sadəcə işləmir. Yalnız magistral qovluq qovluğunu yoxlamaq əngəldir, üstəlik bu qovluq xaricindəki fayllara giriş əldə edə bilməyəcəksiniz.

İcazə vermək üçün ən sevimli yolumu göstərim. Kompüterimdə aşağıdakı quruluşa sahib bir qovluq var:

  • github
    • Yuxarı müəlliflər
    • Asan Featured-Şəkillər
    • Twitter-İstifadəçi vaxtı
  • html
    • wp-admin
    • wp-məzmunu
    • wp-daxildir
    • digər wordpress faylları
  • wordpress
    • top müəlliflər
    • asan xüsusiyyətli-şəkillər
    • twitter-istifadəçi vaxtı

Html qovluğu WordPress-in quraşdırıldığı yerdədir. Github qovluğunda Github-dan olan bütün WordPress plaginlərim var. WordPress-in qovluğunda WordPress depozitindən SVN vasitəsilə çəkilən eyni plaginlər var.

Atdığım ilk addım, Github-da WordPress Plugin Qazan plitəsinin vanil versiyasını yaratmaqdır. Daha sonra bunu github qovluğumda yoxlayıram. Sonrakı, WordPress quraşdırmağımın wp-content / plugins qovluğuna daxil olan magistral qovluq arasında bir əlaqə yaradıram..

Symlinks, gözlədiyiniz kimi hədəfinə çatan bir fayl və ya bir qovluğa istinaddır. Bunun son nəticəsi odur ki, sisteminizin hər hansı bir yerindən bir plugininizi WordPress qovluğuna bağlasanız, yaxşı işləyir. Bu sizə aşağıdakı üstünlükləri verir:

  • Plaginləri başqa yerdə saxlaya bilərsiniz.
  • Bir qovluğu daha böyük bir depo içərisindən bağlaya bilərsiniz.
  • Eyni plagini çox qurğuya bağlaya bilərsiniz.

Bir simsiz bağlantı yaratmaq, terminaldan və ya Windows-da əmr sorğusundan asandır. Birini açmağı və WordPress quraşdırma plaginlər qovluğuna getməyi təklif edirəm. Sonra aşağıdakı əmri yazın:

# OSX və ya Linux üçün
ln -s / mütləq / yol / to / github / My-Plugin-Name / my-plugin-name / magistral my-plugin-adı

# Windows üçün
mklink / j C: \ mütləq \ yol \ ilə \ github \ My-Plugin-Name my-plugin-name

Bu, birinci yoldan ikinci yola keçid yaradır. Birinci yol Github depolarınızdakı magistral qovluğuna gedən mütləq yoldur. İkincisi, yalnız WordPress quraşdırma plaginlər qovluğunda olduğunuz zaman onu əlaqələndirmək istədiyiniz qovluğun adıdır..

Bitirdikdən sonra yuxarıdakı şəkildəki kimi yeni plaginlərinizin göründüyünü görməlisiniz. Şeyi düzəltməliyik, amma indi plaginimizi Github depo-dan işləyib inkişaf etdirməyə imkan veririk çox daha asan.

Adını dəyişmək

Magistral qovluq içərisində çox sayda qovluq və fayl var, adlarını dəyişməyə başlayaq! Əvvəla, tire və böyük hərflərdən istifadə edərək depolarınıza ad verməyinizi tövsiyə edirəm, buna bənzər bir şey: My-Awesome-Plugin. İçindəki əsas qovluğa ‘mənim zəhmli plaginim’ adı verilməlidir. Bu konvensiyanı plagin boyunca istifadə etməyi məsləhət görürəm.

Faylların adını dəyişdirmək OSX-də asandır. Bütün qovluqları açın və içərisində simli plugin adı olan bütün faylları seçin. Bütün 14 faylın adını dəyişdirmək və toplu adını dəyişdirmək üçün sağ vurun.

adını dəyişmək

Windows-da bir az daha çətin olacaq, buna nəzər salın HowToGeek daha çox məlumat üçün məqalə və ya sadəcə bir-bir gedin.

Kimi şərtlər "plugin adı" və digər dəyişikliklər bütün fayl məzmunu boyunca yayılmışdır. İstifadə edə bilərsən Əla, Atom.io və ya digər qabiliyyətli mətn redaktorları çox fayl daxilində kütləvi əvəz etmək. Budur, əvəz etməli olduğunuz bir şey siyahısı (hərflə həssas bir axtarış əvəz etməsinə əmin olun).

  • plugin_name my_awesome_plugin olmalidir
  • Plugin_Name My_Awesome_Plugin olmalı
  • plugin adı mənim zəhmli plaginim olmalıdır

Bitirdikdən sonra əsas faylı başlıq şərhini (my-awesome-plugin.php) ehtiyacınıza uyğunlaşdırmaq üçün doldurduğundan əmin olun..

Mündəricat

WordPress Plugin qazanxanasında bir çox şey var. Fikir əşyaların haraya qoyulacağına dair ciddi qaydalar təyin etməkdir. Çəngəllərinizi əlavə etmək üçün bir xüsusi yer var, məsələn, ön funksiyaları əlavə etmək üçün standart bir yer və s. Çərçivənin əsas hissələrinə nəzər salaq.

Diqqət yetirin ki, adları dəyişdirildiyi üçün fayllara istinad edəcəm, məsələn: daxildir / class-my-awesome-plugin.php. Plugininizi başqa bir şeyə dəyişdirmisinizsə, fayl adının heyrətləndirici plagin hissəsinin sizin üçün fərqli olacağını unutmamalısınız.

Aktivləşdirmə, Deaktivasiya və Sil

Plugin aktiv olduqda işə salmaq istədiyiniz hər hansı bir kod daxil olmalıdır / my-awesome-plugin-name-activator.php. Bu faylda içərisində istifadə etdiyiniz bir aktivləşdirmə () metodu olan My_Awesome_Plugin_Activator adlı bir sinif var..

Hələ obyektlərdə sürətlənməyinizdən narahat olmayın, əşyaların harada yerləşdiriləcəyini bilmək başlamaq üçün kifayət edəcəkdir.

Deaktivasiya işində çalışmalı olduğunuz kodu / my-awesome-plugin-name-deactivator.php daxil edilməlidir. My_Awesome_Plugin_Deactivator daxilindəki aktivləşdirmə () metodu istifadə etməyiniz lazım olan şeydir.

Sizcə bu biraz çox mürəkkəbdir? Mən sizi günahlandırmıram! Obyekt yönümlü anlayışlardan istifadə etməyə başladıqda bunun prosedur kodundan faydasını görəcəksiniz. Başqa bir şey yoxdursa, özünüzə çox böyük köməyi olan kodunuzu qoymaq üçün çox açıq bir yer təmin edir.

Quraşdırma üçün tövsiyə olunan metod WordPress Plugin Boilerplate-in etdiyi uninstall.php istifadə etməkdir. Kodunuz həmin faylın ən aşağı hissəsində yerləşdirilməlidir.

Qarmaqlar əlavə olunur

Qarmaqlar WordPress Plugin Boilerplate tərəfindən təəccüblü şəkildə idarə olunur, lakin əvvəlcə bir az yararsız görünə bilər. Bütün qarmaqlarınız daxil edilməlidir / class-my-awesome-plugin.php. Daha dəqiq desək, My_Awesome_Plugin sinifində, iki metod daxilində:

  • ön hissədə istifadə olunan bir çəngəl əlavə edərkən determin_public_hooks ()
  • arxa ucunda istifadə olunan bir çəngəl əlavə edərkən determin_admin_hooks ()

Həmişə olduğu kimi add_action () və ya add_filter () istifadə etmək əvəzinə, işləri bir az fərqli etmək lazımdır. Məsələn, yazı məzmununu necə dəyişdirdiyinizi.

$ bu->yükləyici->add_action (‘the_content’, $ plugin_public, ‘change_post_content’);

Birinci parametr, çəngəlin adı, ikincisi, xalqa və ya admin obyektinə istinaddır. İctimai qarmaqlar üçün bu $ plugin_public, admin qarmaqlar üçün $ plugin_admin olmalıdır. Üçüncü parametr, əyri funksiyadır.

Daha dözülməz görünsə də, qarmaqların əlavə edilməsini tamamilə standartlaşdırır və bu müddətdə iki fərqli qrupa bölünür.

İctimai və Admin məzmunu

WordPress Plugin Boilerplate qarmaqları admin / ictimai qruplara bölür, lakin bu da hamısı deyil. İdarə qovluğunda ictimai yönlü kodu və admin qovluğuna yazmağı xahiş edərək bütün kodlarınızı eyni şəkildə bölür..

Hər iki qovluqda css, js və partials qovluqları var. İstifadə edilmiş CSS / JS aktivlərini bu qovluqlara yerləşdirməlisiniz və şablonları və HTML-nin digər istifadə edilə bilən bitlərini hissələr qovluğuna yazmalısınız. Qismlər qovluğunda yeni sənədlər yaratmaq yaxşıdır, əslində bunun üçün var!

Qoşulmuş funksiyanızı müvafiq qovluqdakı sinif daxilində bu qovluqlara da yazmalısınız. Change_post_content funksiyasını yuxarıdakı the_content-ə qoşduğumuzda, WordPress Plugin qazanxanasını da harada axtarmağın lazım olduğunu dedik. Bunu ictimaiyyətin üz tərəfinə əlavə etdiyimizdən, WordPress Plugin Boilerplate, ümumi qovluqda olan My_Awesome_Plugin_Public sinif daxilində təyin olunacağını gözləyir. Sadəcə sinif daxilində bu funksiyanı yaradın və hər şeyi olduğu kimi yazın.

Resurslar və asılılıqlar

Kimi xarici mənbələrdən istifadə etmək istəyirsinizsə TGM plaginlərinin aktivləşdirilməsi, əlavə edilmiş qovluğa əlavə etməlisiniz. TGM, class-my-awesome-plugin.php faylına, load_dependencies () metodu daxil edilməli olan class-tgm-plugin-activation.php adlı bir sənəddir:

tələb_once plugin_dir_path (dirname (__FILE__)). ‘daxildir / class-tgm-plugin-activation.php’;

Baxış

Bütün fayl adları və funksiyaları ilə qarışıqsınız? Narahat olmayın, tez bir zamanda alacaqsınız. Əslində, ümumiyyətlə yalnız üç fayl dəyişdirəcəksiniz:

  • daxildir / sinif-my-awesome-plugin.php, bütün qarmaqlarınızı və asılılıqlarınızı əlavə etdiyiniz yerdir.
  • public / class-my-awesome-plugin-public.php, bütün ictimai üzləşən funksiyaları əlavə etdiyiniz yerdir.
  • admin / class-my-awesome-plugin-admin.php, bütün adminlərin üzləşdiyi funksiyaların getdiyi yerdir.

Əvvəlcə WordPress Plugin Boilerplate istifadə etmək əngəl kimi görünə bilər, amma nəticədə ödəyəcəkdir. Bir il sonra qayıdacaqsınız və hər şeyin harada olduğunu biləcəksiniz, plagin inkişafınız məhsullar arasında standartlaşdırılacaq və digər inkişaf etdiricilər də nəyin baş verdiyini anlaya biləcəklər.

Nəhayət, sadə bir widget təmin edən bir pluginin belə bir çərçivəyə ehtiyacı olmayacağını unutma. WordPress Plugin Boilerplate istifadəsi plagininizi yavaşlatmasa da, görünmənin qarşısını alır, sizə lazım olan bütün şeylər bir neçə sadə koddur.!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Это интересно
    Adblock
    detector