Bu bir WordPress eklentisi oluşturma hakkında bir soru değil. Aksine, varsa, herhangi bir eklentinin dosya mimarisini nasıl bir araya getireceğinize dair kılavuzlar uygulanabilir.
Diğer bazı programlama dilleri veya kütüphaneleri, dizinleri ve dosyaları organize etmenin çok kontrollü yollarına sahiptir. Bazen bu can sıkıcıdır ve PHP'nin sunduğu özgürlüğü vurgular, ancak flip-side WordPress eklentileri yazarları tarafından belirlenen şekilde bir araya getirilir.
Doğru bir cevap yok , ancak umudum, diğer geliştiricilerin nasıl diseksiyon yapmaları, hata ayıklamaları, daha kolay gezinmeleri ve muhtemelen daha verimli olmaları için onları daha kolay hale getirmek için eklentileri nasıl geliştirdiğimi geliştirmek.
Son soru: Ne yapmak sen bir eklenti düzenlemenin en iyi yolu olduğunu düşünüyorum?
Aşağıda birkaç örnek yapı bulunmaktadır, ancak bunların hiçbiri ayrıntılı bir liste değildir. Kendi önerilerinizi eklemek için çekinmeyin.
Varsayılan Varsayılan Yapı
/wp-content/plugins/my-pluginmy-plugin.php
Model Görünüm Kontrol Cihazı (MVC) yöntemi
/wp-content/plugins/my-plugin/controllerController.php
/modelModel.php
/viewview.php
my-plugin.php
MVC'nin üç bölümü:
- Model veritabanı ile etkileşimde bulunduğunda, sorgulama ve verilerin kaydedilmesi ve mantığı içerir.
- Kontrolör görünümü kullanmak olacağını şablon etiketleri ve işlevleri içerecektir.
- Görünüşüdür kontrolörü tarafından yapılan modelin sağladığı verileri görüntülemek için sorumludur.
Tip yöntemine göre düzenlenmiş
/wp-content/plugins/my-plugin/adminadmin.php
/assetscss/images/
/classesmy-class.php
/langmy-es_ES.mo
/templatesmy-template.php
/widgetsmy-widget.php
my-plugin.php
WordPress Eklenti Kazanı
Github'da mevcut
Eklenti API'sine , Kodlama Standartlarına ve Dokümantasyon Standartlarına dayanarak .
/wp-content/plugins/my-plugin/admin/css/js/partialsmy-plugin-admin.php
/includesmy_plugin_activator.phpmy_plugin_deactivator.phpmy_plugin_i18n.phpmy_plugin_loader.phpmy_plugin.php
/languagesmy_plugin.pot
/public/css/js/partialsmy-plugin-public.php
LICENSE.txtREADME.txtindex.phpmy-plugin.phpuninstall.php
Gevşek organize yöntem
/wp-content/plugins/my-plugincss/images/js/my-admin.phpmy-class.phpmy-template.phpmy-widget.phpmy-plugin.php
css/, images/ve js/olacaktır styles/, images/ve scripts/.