WordPress, milyonlarca web sitesine güç veren esnek ve genişletilebilir bir içerik yönetim sistemidir. Bu esnekliği sağlayan en önemli bileşenlerden biri de eklentilerdir. Kendi ihtiyacınıza özel bir işlevsellik eklemek ya da topluluğa fayda sağlamak istiyorsanız, eklenti geliştirmek en doğru yoldur. Bu rehberde sıfırdan bir WordPress eklentisi geliştirmenin tüm adımlarını detaylı şekilde ele alacağız.
1. Eklenti Geliştirmeye Giriş
Eklentiler, WordPress’in sunduğu API’ler, hook’lar (actions & filters) ve PHP dilini kullanarak WordPress’in davranışlarını değiştiren veya genişleten yapılardır.
Neye İhtiyacınız Var?
- Temel düzeyde PHP bilgisi
- WordPress kurulumu (yerel ya da canlı sunucu)
- Bir kod editörü (VS Code önerilir)
2. Eklenti Dosya Yapısını Oluşturma
WordPress eklentileri wp-content/plugins/ dizininde barındırılır.
Örnek Yapı:
/wp-content/plugins/
└── ornek-eklenti/
├── ornek-eklenti.php
└── readme.txt
ornek-eklenti.php içeriği:
<?php
/**
* Plugin Name: Örnek Eklenti
* Description: Basit bir WordPress eklentisi.
* Version: 1.0
* Author: BayrakNET
*/
// Kodlar buraya gelecek
Bu bilgiler, WordPress’in eklentinizi tanıyabilmesi için gereklidir.
3. Hooks: WordPress’in Kalbini Kullanmak
WordPress’in olaylara müdahale etmenizi sağlayan iki ana yapısı vardır:
- Actions: Belirli bir noktada bir şeyler yapmanızı sağlar.
- Filters: Var olan verileri değiştirmenize izin verir.
Örnek:
add_action('wp_footer', 'ornek_footer_mesaji');
function ornek_footer_mesaji() {
echo '<p style="text-align:center;">Teşekkürler, bu site bir örnek eklenti kullanıyor!</p>';
}
4. Admin Paneline Menü Eklemek
add_action('admin_menu', 'ornek_admin_menu');
function ornek_admin_menu() {
add_menu_page(
'Örnek Ayarlar', // Sayfa başlığı
'Örnek Eklenti', // Menü adı
'manage_options', // Yetki
'ornek-eklenti', // Slug
'ornek_ayarlar_sayfasi', // Callback
'dashicons-admin-generic'
);
}
function ornek_ayarlar_sayfasi() {
echo '<h1>Örnek Eklenti Ayarları</h1>';
}
5. Ayar Sayfası ve Formlar
Ayar formu oluşturmak için Settings API kullanılır. Basit bir örnek:
function ornek_register_settings() {
register_setting('ornek_ayarlar', 'ornek_mesaj');
add_settings_section('ornek_section', '', null, 'ornek-eklenti');
add_settings_field('ornek_mesaj', 'Mesaj:', 'ornek_mesaj_callback', 'ornek-eklenti', 'ornek_section');
}
add_action('admin_init', 'ornek_register_settings');
function ornek_mesaj_callback() {
$value = get_option('ornek_mesaj');
echo "<input type='text' name='ornek_mesaj' value='$value' />";
}
6. Güvenlik Önlemleri
WordPress eklentisi geliştirirken dikkat edilmesi gereken güvenlik konuları:
nonceile form güvenliğisanitize_text_field(),esc_html(),wp_verify_nonce()gibi fonksiyonlar kullanın- Doğrudan dosya erişimini engelleyin:
if (!defined('ABSPATH')) {
exit; // Erişim engellendi
}
7. Eklentiyi Çok Dilli Hale Getirme (i18n)
Eklentinizin farklı dillere çevrilebilmesi için __() ve _e() fonksiyonları kullanılır:
_e('Bu bir örnek mesajdır.', 'ornek-eklenti');
Ve başlıkta metin alanında:
Text Domain: ornek-eklenti
8. Eklentinizi Test Etme ve Yayınlama
Test:
- Hataları görmek için
WP_DEBUGmodunu etkinleştirin. - Farklı temalar ve eklentilerle uyumluluğunu test edin.
Yayınlama:
ornek-eklentiklasörünü.ziphaline getirin.- WordPress Plugin Directory’ye başvurun: https://wordpress.org/plugins/developers/
9. Gelişmiş Konular (Özetle)
- OOP ile eklenti geliştirme: Sınıf tabanlı yapı ile daha modüler kod
- AJAX kullanımı: Admin ya da frontend’de dinamik işlemler
- Custom post type ve meta box entegrasyonu
- REST API desteği
Değerlendirme
WordPress eklenti geliştirme süreci, hem teknik bilginizi geliştirir hem de geniş topluluğa katkı sağlar. Bu rehberle sıfırdan bir eklenti oluşturmanın temel adımlarını öğrendiniz. Geliştirmeye devam ettikçe, yapabileceklerinizin sınırlarını zorlayabilirsiniz.







