WordPress’de eklenti nasıl yazılır, eklenti yazmak hakkında kılavuz

Bir WordPress eklentisinin nasıl yapılacağına dair, temel olarak gerekli kodlara yeterince odaklanmış bir kılavuzun ortalıkta var olmadığı fark ettim. Temel kodlara önem verilmesi demek iyi ve düzenli bir eklenti oluşturmak demektir. Bu kılavuzda sınıf(class) bazlı bir WordPress ekletisinin nasıl yapılacağını açıklayacağım.

Bir dizin ile başlayın

WordPress eklentileri tekil bir dosya ya da dosyalar dizini ile tanımlanabilir. Bir dizin oluşturarak başlamak size projenin ana çatısını ve dosya düzenini beraber kullanırken daha fazla esneklik verir ve kolay kullanım imkanı sağlar.

Ben genellikle aşağıdaki dosya düzenini kullanırım:

  • wp-plugin-name/
    • wp-plugin-name.php – eklentinin ana sınıfıdır.
    • settings.php – eklentinin ayarlar sınıfıdır.
    • readme.txt – isteğe bağlı olarak wordpress.org eklenti dizininde eklentiyi tanımlamak için kullanılır.
    • post-types/ – her bir yazı türünü(post_type) bu dizinde sınırlandırın.
      • custom-post-type.php – her bir yazı türü ayrı ayrı sınırlandırılır.
    • templates/ – yönetim panelindeki tüm şablonlar.
      • custom-post-type-inner-metabox.php – eklentinizde yer alan her bir özel yazı türü birer dahili meta kutusu şablonuna ihtiyaç duyar, bu da sizin çalışma mantığınızı dışa vurmaya yarar.
      • settings.php – bu da eklentinin ayarlar şablonudur.

Oluşturduğum bu dizin, alışık olduğum düzende rahat çalışabilmem için İngilizce temellidir, ama isterseniz readme.txt dışındakileri Türkçe olarak da oluşturabilirsiniz.