Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

IstanbulPHP meetup sunum

880 views

Published on

WordPress plugin development

Published in: Software
  • Be the first to comment

IstanbulPHP meetup sunum

  1. 1. Mustafa Uysal @m_uysl mustafa@skop.com.tr blog.uysalmustafa.com #istanbulphp WordPress Plugin Development
  2. 2. Ben Kimim? • Yazılım Geliştirici 
 (Nefis Yemek Tarifleri) • Kurucu (SKOP) • WordPress Geliştirici
 (Plugin|Çeviri|Core) • Yazar @wpnotlari
  3. 3. • Eklenti Konsepti • Plugin API • Eklenti Dizini • Sıfırdan Eklenti 
 Yazalım • İpuçları
  4. 4. Neden Eklenti Geliştiriyoruz?
  5. 5. Eklenti Nedir? WordPress’e yeni işlev ekleyebilirler. Mevcut WordPress özelliğini kaldırabilirler. Mevcut WordPress özelliğini değiştirebilirler. PHP scriptidir. (Gülüşmeler) Bunlar;
  6. 6. Nerede yaşarlar? • wp-content/plugins/hede.php • wp-content/plugins/hede/hodo.php • Plugin Header içeren `.php` dosyası
  7. 7. Plugin Header
  8. 8. Plugin API https://codex.wordpress.org/Plugin_API
  9. 9. Actions •WordPress çekirdeği tarafından 
 “action” tetiklenir. •Action’a bağlı kodlar çalıştırılır
  10. 10. Actions
  11. 11. Filters • WordPress callback’e veri gönderir • Callback işini görür, verinin son halini geri gönderir
  12. 12. Filters
  13. 13. Hadi Eklenti Yazalım
  14. 14. Bu eklenti ne yapsın? • WordPress upload url’i değiştirsin
 example.com/wp-content/uploads => cdn.example.com/wp-content/uploads • Yazı içindeki görselleri değiştirsin
  15. 15. Nasıl Yazalım?
  16. 16. Prefix function prefix_fonksiyon_adi() VS function fonksiyon_adi()
  17. 17. “Plugin Name” Zorunlu
  18. 18. “init” en önemli action
  19. 19. Tek satırla çoklu dil desteği
  20. 20. “admin_menu”
  21. 21. “admin_menu”
  22. 22. “admin_init”
  23. 23. https://gist.github.com/mustafauysal/73a9dfe8cde23405916b Eklentiyi 
 Yazdık Ya Sonra?
  24. 24. Readme.txt Readme Oluşturucu: http://sudarmuthu.com/wordpress/wp-readme/
  25. 25. Readme Validator https://wordpress.org/plugins/about/validator/
  26. 26. svn checkout http://plugins.svn.wordpress.org/eklenti-adi SVN
  27. 27. geliştirme aşaması için /trunk sürümler için /tag
  28. 28. “Stable tag” belirtelim /trunk/readme.txt
  29. 29. İpuçları
  30. 30. Eklentiyi Yazmadan Önce Araştır Hali hazırda 40k+ eklenti var
  31. 31. define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('SAVEQUERIES', true);
  32. 32. WordPress Coding Standards https://codex.wordpress.org/WordPress_Coding_Standards
  33. 33. i18n https://codex.wordpress.org/I18n_for_WordPress_Developers
  34. 34. Object Oriented Yaz
  35. 35. Array Tipinde Sakla
  36. 36. Test Yaz wp scaffold plugin-tests eklenti-adi WP_UnitTestCase wp-cli.org
  37. 37. do_action( $tag, $arg… ); apply_filters( $tag, $value, $param…);
  38. 38. Git Kullan https://gist.github.com/scribu/1125050
  39. 39. Güncel Tut Sürüm Yayınla PHP versiyonuna dikkat
  40. 40. sanitize_* $wpdb->prepare()
  41. 41. esc_* nonce
  42. 42. WordPress API’lerini kullan
  43. 43. Geri uyumluluk = Sorumluluk Önce Deprecate
  44. 44. Kullanıcıları Dinle https://wordpress.org/support/view/plugin-committer/kullanici-adi
  45. 45. Sorular?
  46. 46. Mustafa Uysal @m_uysl mustafa@skop.com.tr blog.uysalmustafa.com #istanbulphp Teşekkürler mustafa@nefisyemektarifleri.com Bize Ulaşın

×