WordPress Eklenti Geliştirme Kılavuzu: Sıfırdan Başlayarak İlk Özel Eklentinizi Oluşturun

2 dakika okuma.
2026-05-29
2026-06-03
2,784
Aşağıdaki bağlantılar üzerinden alışveriş yaptığınızda, sizin için ek bir maliyet olmadan komisyon kazanıyorum.

Geliştirme Ortamı ve Temel Hazırlıklar

Kod yazmaya başlamadan önce, stabil ve verimli bir yerel geliştirme ortamına sahip olmak çok önemlidir. WordPress eklenti geliştirme için XAMPP, MAMP veya Local by Flywheel gibi entegre ortamları kullanmanızı öneririz; bu ortamlar Apache, MySQL ve PHP’yi tek tuşla kurmanıza olanak tanır ve karmaşık yapılandırma işlemlerinden sizi kurtarır. Lütfen PHP sürümünüzün 7.4 ve üzeri, MySQL sürümünüzün ise 5.6 ve üzeri olduğundan emin olun; bu, WordPress’in resmi olarak önerdiği en yeni ortam gereksinimlerine uygundur.

Bundan sonra, bir kod editörüne ihtiyacınız olacak. Visual Studio Code, PhpStorm veya Sublime Text, sözdizimi vurgulama, kod önerileri ve hata ayıklama özellikleri sunan mükemmel seçeneklerdir ve geliştirme verimliliğinizi büyük ölçüde artırabilir. Aynı zamanda, kod değişikliklerinizin geçmişini yönetmek için Git gibi bir sürüm kontrol aracı da kurmanız gerekir; bu, modern geliştirmenin standart bir uygulamasıdır.

WordPress eklentilerinin temel yapısını anlamak ilk adımdır. En temel bir eklenti en az bir ana PHP dosyası içerir; bu dosyanın başlık kısmındaki yorumlar, eklentinin “kimlik kartı” niteliğindedir ve WordPress sisteminine eklenti hakkında bilgi vermek için kullanılır. Bu dosya bağımsız olarak da bulunabilir veya daha karmaşık bir eklenti dizininin giriş noktası olarak da kullanılabilir.

Tavsiye edilen okuma WordPress Eklenti Geliştirme: Başlangıçtan Uzmanlığa – İlk Özel Eklentinizi Oluşturun

İlk eklenti dosyanızı oluşturun.

En basit eklentiyi oluşturarak başlayalım. Öncelikle, yerel WordPress kurulum dizininize gidin ve…wp-content/pluginsKlasör. Burada, “” adında yeni bir klasör oluşturun.my-first-pluginTüm eklentiyle ilgili dosyalar bu kataloga yerleştirilecektir.

UltaHost WordPress Sunucusu
30 gün iade garantisi, sınırsız bant genişliği ve veritabanı kullanımı, ücretsiz DDoS koruması; 3 yıllık abonelikte indirim (50%).

Bu klasör içinde, “main.php” gibi adlandırılmış bir ana PHP dosyası oluşturun.my-first-plugin.phpBu dosyanın baş kısmında belirli eklenti bilgilerini içeren bir yorum bloğu bulunmalıdır. İşte standart bir örnek:

<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       这是一个用于学习的简单WordPress插件示例。
 * Version:           1.0.0
 * Author:            你的名字
 * Author URI:        https://example.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 */

Bu yorumdaki “Plugin Name” (Eklenti Adı) zorunlu bir bilgidir; WordPress, arka plandaki eklenti listesinde eklentinizi tanımak ve göstermek için buna ihtiyaç duyar. Sürüm numarası, yazar gibi diğer bilgiler ise kullanıcıların eklentinin detaylarını anlamasına yardımcı olur. Dosyayı kaydettikten sonra WordPress arayüzüne giriş yapın ve “Eklentiler” sayfasına gidin. “My First Plugin” (İlk Eklentim) adlı eklentinin eklenti listesinde yer aldığını görmelisiniz ve onu etkinleştirebilir veya devre dışı bırakabilirsiniz. Şu an için herhangi bir özelliği yoktur, ancak yasal bir eklenti çerçevesi oluşturmayı başardınız.

Eklentiye temel özellikler ekleyin.

Etkinleştirilmiş bir eklenti, kodu çalıştırmak için WordPress’in hook (kancalama) mekanizmasını kullanır. Hook’lar iki türe ayrılır: Eylem Hook’ları (Action Hooks) ve Filtre Hook’ları (Filter Hooks). Eylem Hook’ları, belirli zaman noktalarında kod ekleyerek işlevler gerçekleştirmenize olanak tanır; Filtre Hook’ları ise işlem sırasında iletilen verileri değiştirmenize imkan verir.

Eylem kancalarını kullanarak yönetim menüsü ekleyin.

Kullanıcıların eklentilerle etkileşime girebilmesi için, genellikle WordPress arayüzünde bir ayar sayfası eklememiz gerekmektedir. Bu, aşağıdaki yöntemlerle yapılabilir:add_action()Fonksiyon monte edildi.admin_menuBu işlem, bir eylem kancası (action hook) aracılığıyla gerçekleştirilir.

Tavsiye edilen okuma WordPress Eklenti Geliştirme Kılavuzu: Sıfırdan İlk Özel Eklentinizi Oluşturmak

Öncelikle, ana eklenti dosyasında ayar sayfasının HTML içeriğini döndüren bir fonksiyon tanımlıyoruz. Bu fonksiyon “outputSettingsPageHTML” adı ile adlandırılabilir.mfp_settings_page_htmlArdından, başka bir fonksiyon oluştururuz, örneğin…mfp_add_admin_menuWordPress’ü kullanan bir ortamda…add_menu_page()Bu fonksiyon, yeni bir üst düzey menü öğesini kaydetmek için kullanılır. Son olarak,add_action('admin_menu', 'mfp_add_admin_menu')Kayıt fonksiyonunu sisteme monte edin.

Makale içeriğini filtre kancalarını kullanarak değiştirin.

Arka plan işlevlerinin yanı sıra, eklentiler genellikle web sitesinin ön yüzü (kullanıcı arayüzü) içeriğini değiştirmek için kullanılır. Örneğin, her makalenin sonuna otomatik olarak bir telif hakkı bildirimi ekleyebiliriz. Bunun için belirli bir eklentiye ihtiyaç vardır.the_contentBu filtre hook’u.

Örneğin, “myFunction” adında bir fonksiyon tanımlayalım.mfp_add_copyright_to_contentBu araç, bir parametre alır (yani orijinal makale içeriği) ve bunun sonuna özelleştirilmiş HTML metni ekler. Daha sonra, bu işlem sonucunda elde edilen içerik kullanılır.add_filter('the_content', 'mfp_add_copyright_to_content')Bu fonksiyonu bir filtre olarak kaydedin. Böylece, WordPress her makale içeriğini çağırdığında, içerik önce bizim fonksiyonumuzdan geçer, telif hakkı bilgileri eklenir ve ardından sonuç çıktı olarak verilir.

hosting.com Paylaşımlı Barındırma
AMD EPYC CPU'lar, NVMe SSD depolama ve LiteSpeed ile yüksek performans, 7/24, 7x7 uzman şirket içi destek, SSL, kaba kuvvet, kötü amaçlı yazılım ve DDoS koruması dahil gelişmiş güvenlik önlemleri, 73%'ye kadar tasarruf

Eklenti Güvenliği, Optimizasyonu ve Yayınlanması

Geliştirme işlemi sadece ilk adımdır; eklentinin güvenliğini ve performansını sağlamak da aynı derecede önemlidir. Tüm kullanıcı girdileri, veritabanına girilmeden veya sayfaya çıktı olarak gösterilmeden önce, sıkı bir şekilde doğrulanmalı, kodlarındaki tehlikeli kısımlar giderilmeli ve veriler temizlenmelidir. WordPress, bu amaç için birçok güvenlik fonksiyonu sunmaktadır.sanitize_text_field()(Tekst temizliği)esc_html()(escaped HTML) vewp_kses()Belirtilen HTML etiketlerinin kullanılmasına izin verilir; lütfen bunları uygun yerlerde kullanın.

Eklentinin sürdürülebilirliğini ve performansını artırmak için, kodu nesne yönelimli programlama (OOP) ilkelerine göre düzenlemeniz ve işlevleri sınıflar içinde kapsüllemeniz önerilir. Aynı zamanda, zaman alıcı sorgu sonuçlarını veya uzak sunuculardan gelen verileri önbelleğe almak için WordPress’in Transients API’sini etkili bir şekilde kullanarak, her sayfa yüklendiğinde aynı hesaplamaların tekrarlanmasını önleyin.

Eklentinizin işlevleri tamamlanıp testlerden geçtikten sonra, yayınlamayı düşünebilirsiniz. Açık ve anlaşılır bir dokümantasyon hazırlamanız gerekecektir.readme.txtDosyanın formatı, WordPress.org’un gerekliliklerine uygun olmalıdır. Bu dosya, eklentinin özelliklerini, kurulum yöntemlerini, güncelleme kayıtlarını ve sık karşılaşılan sorunları açıklamak için kullanılır. Eklentiyi resmi eklenti kataloğuna göndermek istiyorsanız, bir SVN deposu oluşturmanız ve kod standartlarına ile gönderim rehberlerine uymanız gerekir. Ticari eklentiler için ise kendi satış ve güncelleme sunucularınızı kurmanız gerekmektedir.

Tavsiye edilen okuma WordPress eklenti geliştirmeye hakim olmak: Sıfırdan bire özel özellikler oluşturmak.

Özetle.

Bu kılavuz aracılığıyla, WordPress eklenti geliştirmenin temel adımlarını inceledik: Ortam kurmaktan, temel dosya yapısını oluşturmaktan, eklentilere işlevsellik kazandırmak için eylemler (actions) ve filtreler (filters) kullanmaya, ve son olarak güvenlik, optimizasyon ve yayınlama hazırlıklarına kadar. Eklenti geliştirmenin özü, WordPress’in temel özelliklerini genişletmektir ve eklenti mekanizmaları (hooklar), kendi kodunuzu WordPress dünyasıyla bağlamanın aracıdır. Bu temelleri öğrendikten sonra, resmi eklenti kılavuzlarına ve çekirdek kodlara bakarak daha karmaşık API’leri ve olanakları keşfedebilir, böylece güçlü, güvenli ve popüler eklentiler geliştirebilirsiniz.

Sıkça Sorulan Sorular.

Bir eklentinin hangi dosyaları içermesi gerekiyor?

En basit eklenti, doğru dosya başlığı yorumlarına sahip tek bir PHP dosyasından oluşabilir. Ancak işlevler karmaşıklaştıkça, genellikle birden fazla PHP dosyası, JavaScript, CSS, görsel kaynaklar ve başka bileşenler de içermeye başlar.readme.txtAçıklama dosyası: Çekirdek ana PHP dosyası zorunludur.

InterServer Paylaşımlı Barındırma
Paylaşımlı hosting aylık $2.50 USD, ilk ay $0.1 USD promosyon kodu tryinterserver, 461 bulut uygulaması komut dosyası, tek tıklamayla yükleme.

Eklentimin diğer eklentilerle çakışmasını nasıl önleyebilirim?

Tüm fonksiyon adlarınıza, sınıf adlarınıza, sabit adlarınıza ve küresel değişkenlerinize benzersiz bir önek eklemek, isim çakışmalarını önlemenin en iyi yöntemidir. Genellikle eklentilerin kısaltmaları veya belirli isimler önek olarak kullanılır.mfp_my_plugin_Aynı zamanda, kodu sınıflar içinde kapsüllemek de etki alanlarını etkili bir şekilde izole etmeye yardımcı olur.

Bir eklentiye nasıl yapılandırılabilir ayar seçenekleri eklenir?

WordPress Settings API’sini güvenli ve standartlaştırılmış ayar sayfaları oluşturmak için kullanmanız önerilir. Bu API, ayarların kaydedilmesi, ayar alanlarının ve bölümlerinin eklenmesi için fonksiyonlar sunar ve seçeneklerin otomatik olarak kaydedilmesi, doğrulanması ve nonce doğrulamasını gerçekleştirir; bu da manuel işlemlere göre daha verimlidir.$_POSTVeriler çok daha güvenli ve kullanışlı hale geldi.

Geliştirme sırasında eklentideki hataları nasıl ayıklarım?

Öncelikle, emin olun ki…wp-config.phpDosyada WordPress hata ayıklama (debugging) modu etkinleştirilmiştir.WP_DEBUGSabit, olarak ayarlandı.trueAynı zamanda, Query Monitor gibi profesyonel hata ayıklama eklentilerini de yükleyip etkinleştirebilirsiniz. Bu eklentiler, veritabanı sorgularını, hook işlemlerini, PHP hatalarını ve performans sorunlarını incelemenize yardımcı olur ve geliştirme sürecinde vazgeçilmez araçlardır.