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-plugin
my-plugin.php
Model Görünüm Kontrol Cihazı (MVC) yöntemi
/wp-content
/plugins
/my-plugin
/controller
Controller.php
/model
Model.php
/view
view.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
/admin
admin.php
/assets
css/
images/
/classes
my-class.php
/lang
my-es_ES.mo
/templates
my-template.php
/widgets
my-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
/partials
my-plugin-admin.php
/includes
my_plugin_activator.php
my_plugin_deactivator.php
my_plugin_i18n.php
my_plugin_loader.php
my_plugin.php
/languages
my_plugin.pot
/public
/css
/js
/partials
my-plugin-public.php
LICENSE.txt
README.txt
index.php
my-plugin.php
uninstall.php
Gevşek organize yöntem
/wp-content
/plugins
/my-plugin
css/
images/
js/
my-admin.php
my-class.php
my-template.php
my-widget.php
my-plugin.php
css/
, images/
ve js/
olacaktır styles/
, images/
ve scripts/
.