# Özel bir WooCommerce eklentisinin geliştirilmesi

> Belirli bir iş kuralı mevcut WooCommerce eklentileri arasında karşılığını bulamadığında, kalıcı çözüm eklenti veya tema dosyalarını doğrudan değiştirmek değil, WooCommerce'in öngördüğü genişletme noktalarına bağlanan özel bir eklenti yazmaktır.

- Source canonique : [https://allaux.fr/tr/wordpress-woocommerce/extension-sur-mesure](https://allaux.fr/tr/wordpress-woocommerce/extension-sur-mesure)
- Langue : TR
- Dernière mise à jour : 2026-09-30

## Doğrudan yanıt

> wp-content/plugins altında, Plugin Name başlığını taşıyan bir PHP dosyası içeren bir klasör oluşturun: iş kuralı temanın functions.php dosyasında değil, burada yaşamalıdır; tema değişince o dosya kaybolur. Sonra bir şablonu ezmek yerine mevcut WooCommerce kancalarına add_action veya add_filter ile bağlanın. Son olarak HPOS uyumluluğunu bildirin, aksi hâlde WooCommerce eklentiyi uyumsuz olarak işaretler.

## Neden doğrudan değişiklik yerine bir eklenti

WooCommerce, tıpkı WordPress gibi, eklentinin kendi dosyalarına dokunmadan bir siparişin, ürünün veya sepetin yaşam döngüsünün belirli anlarında müdahale etmeyi sağlayan bir eylem ve filtre sistemine (add_action, add_filter) dayanır. woocommerce_checkout_process, woocommerce_order_status_changed veya woocommerce_product_get_price gibi hook'lar, koşullu fiyat hesaplamasından ödeme sırasında özel alanların doğrulanmasına kadar iş ihtiyaçlarının büyük çoğunluğunu karşılar.

WooCommerce dosyalarını veya kötü yapılandırılmış bir alt temayı (child theme) doğrudan değiştirmek, kötü yönetilen bir PrestaShop override'ıyla aynı tuzağa düşmek demektir: değişiklik bir sonraki güncellemede kaybolur, hatta daha kötüsü, güncellemenin kendisini engelleyebilir. Kendi eklenti klasöründe paketlenmiş bir eklenti ise, kullanılan hook'lar kararlı kaldığı sürece WooCommerce ve WordPress güncellemelerinden etkilenmez.

İhtiyaç, yerel hook'ların izin verdiğinin ötesine geçtiğinde, başka bir araçtan veritabanına doğrudan çoklu çağrılar yapmak yerine, harici bir sistemle (ERP, kasa, yönetim aracı) iletişim kurmak için bazen özel bir REST API rotası sunuyorum.

## Bu tür bir talebi tetikleyen durumlar

- İşletmenize özgü, piyasadaki eklentilerde bulunmayan bir fiyatlandırma veya indirim kuralı
- WooCommerce ile bir ERP, kasa veya stok yönetim aracı arasında senkronizasyon ihtiyacı
- Kendine özgü iş mantığına sahip ek sipariş veya müşteri hesabı alanları
- Şu anda tema veya eklenti dosyalarında yapılan ve her güncellemede kaybolan değişiklikler
- Sipariş durumu değişikliğiyle tetiklenen bir otomasyon ihtiyacı

## Bir eklentiyi nasıl geliştiriyorum

1. **İhtiyacın çerçevelenmesi** — Eklentinin tam olarak ne yapması gerektiğini, hangi ekranlarla, hangi verilerle ve mevcut yapıyla hangi etkileşimlerle çalışacağını netleştiriyorum.
2. **Hook seçimi** — WooCommerce tarafından zaten yönetilen bir mantığı tekrarlamadan, doğru anda müdahale etmeyi sağlayacak uygun eylem ve filtreleri belirliyorum.
3. **İzole geliştirme** — Kod, temadan bağımsız kendi eklentisinde geliştirilir; böylece ileride bir tema değişikliği olsa bile kararlı kalır.
4. **Testler ve dokümantasyon** — Bir ön üretim (staging) ortamında test ediyor ve çalışma prensibi ile yapılandırma hakkında kısa bir dokümantasyon bırakıyorum.

## Kod size ait kalır

> Geliştirilen eklenti, çalışmaya devam etmesi için benim müdahaleme bağımlı olmayan, bağımsız bir eklenti olarak teslim edilir. Gerekirse başka bir geliştiriciyle birlikte geliştirmeye devam edebilirsiniz.

## İlgili sayfalar

- **Özel geliştirme** — Özel bir eklentiyi hangi çerçevede üstlendiğim. ([/services/developpement-sur-mesure](/services/developpement-sur-mesure))
- **Güncelleme öncesi eklentileri denetlemek** — Özel bir eklentinin dayattığı sürüm disiplini. ([/wordpress-woocommerce/mise-a-jour/verifier-extensions-avant-mise-a-jour](/wordpress-woocommerce/mise-a-jour/verifier-extensions-avant-mise-a-jour))
- **Güncelleme sonrası eklenti çakışması** — Üst üste binen eklentilerin en sık görülen belirtisi. ([/wordpress-woocommerce/problemes/conflit-extensions-apres-mise-a-jour](/wordpress-woocommerce/problemes/conflit-extensions-apres-mise-a-jour))
- **WordPress alt teması oluşturmak** — Özelleştirme bir eklentiye değil temaya ait olduğunda. ([/guides/creer-theme-enfant-wordpress](/guides/creer-theme-enfant-wordpress))
- **WooCommerce için ChatGPT Ads eklentisi** — OpenAI pikseli ve Conversions API; HPOS, blok tabanl? ?deme s?reci ve onay eklentileriyle uyumlu: geli?tiren ve kuran benim. ([/wordpress-woocommerce/extension-chatgpt-ads](/wordpress-woocommerce/extension-chatgpt-ads))

## Bir eklentiyi yapay zekâ asistanıyla yönetilebilir kılmak

- **WordPress ve WooCommerce MCP** — Eklentileriniz için abilities tanımlamak ve bunları sınırlı yetkilerle MCP üzerinden sunmak. ([/wordpress-woocommerce/mcp](/wordpress-woocommerce/mcp))

## FAQ

### Eklenti WooCommerce güncellemelerine dayanıklı olacak mı?

Evet, dosyaları doğrudan değiştirmek yerine yerel hook'lar kullanıldığı için eklenti, bir güncellemeden sonra da çalışmaya devam eder. Yine de WooCommerce'in büyük sürüm yükseltmelerinde bir kontrol yapmak faydalıdır.

### Bir eklentinin geliştirilmesi ne kadar sürer?

Basit bir işlev için birkaç günden, harici bir sistemle karmaşık bir entegrasyon için birkaç haftaya kadar değişir. İhtiyacı netleştirdikten sonra net bir süre tahmini veririm.

### Yayına almadan önce test edebilir miyim?

Evet, geliştirme, canlıya almadan önce inceleyip onaylayabileceğiniz bir ön üretim (staging) ortamında yapılır.

### Teslimattan sonra ihtiyaçlarım değişirse ne olur?

Eklenti daha sonra geliştirilebilir. Kod izole ve belgelenmiş olduğu için, gerekirse başka biri de projeyi devralabilir.

### Benim durumumda mevcut bir eklenti gerçekten yeterli olmuyor mu?

Her zaman önce piyasada uygun bir çözüm olup olmadığını kontrol ediyorum: bu genellikle özel geliştirmeden daha hızlı ve daha az maliyetlidir. Özel eklenti, ancak güvenilir bir çözüm mevcut değilse öneriliyor.
