WordPress eklenti geliştirme tam rehberi: Başlangıçtan ileri düzeye kadar pratik eğitim.

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

Geliştirmeye başlamadan önce yapılması gereken hazırlık işlemleri

Herhangi bir kod yazmaya başlamadan önce, yeterli hazırlık çalışmalarının yapılması projenin sorunsuz bir şekilde ilerlemesini sağlamanın anahtarıdır. WordPress eklenti geliştirme için bu, temel kavramları anlamayı, yerel geliştirme ortamını kurmayı ve proje yapısını planlamayı içerir.

Eklentilerin temel bileşenlerini anlamak

Herhangi bir WordPress eklentisinin bir ana dosyası olmalıdır. Bu ana dosya genellikle eklenti dizininin kök klasörüne konur ve eklentinizin adıyla adlandırılır. Örneğin: my-awesome-plugin.phpBu dosyanın başlık kısmındaki yorumlar çok önemlidir; WordPress sistemi, bu bilgileri okuyarak arka planda yönetim arayüzünde eklentinizi tanır ve gösterir.

Aşağıda, en küçük bir eklenti ana dosyasının başlık kısmına ait bir örnek verilmiştir:

Tavsiye edilen okuma WordPress Eklenti Geliştirme Kılavuzu: Başlangıçtan Uzmanlığa Kadar Pratik Bir Eğitim Kitabı

<?php
/**
 * Plugin Name: 我的强大插件
 * Plugin URI:  https://example.com/my-awesome-plugin
 * Description: 这是一个用来演示插件开发基础的示例插件。
 * Version:     1.0.0
 * Author:      开发者名称
 * License:     GPL v2 or later
 * Text Domain: my-awesome-plugin
 */

Yerel geliştirme ortamını kurmak.

Üretim ortamıyla mümkün olduğunca tutarlı bir yerel geliştirme ortamı oluşturmak çok önemlidir. Apache/Nginx, PHP ve MySQL’i entegre eden XAMPP, MAMP veya Local by Flywheel gibi paketlerin kullanılması önerilir. Ayrıca, hata ayıklamayı kolaylaştırmak için bir kod editörü (örneğin VS Code veya PHPStorm) kurmanız ve PHP’nin hata raporlama özelliğini etkinleştirmeniz gerekir.

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%).

Basit bir “Hello World” eklentisi oluşturun.

En basit eklentiyi oluşturarak başlayalım; bu eklenti, web sitesinin ön yüz sayfasının alt kısmında özelleştirilmiş bir mesaj gösterecektir. Bu uygulama, eklentilerin nasıl oluşturulduğuna ve temel mekanizmalarına aşina olmanıza yardımcı olacaktır.

Yeni bir eklenti dosyası ve klasörü oluşturun.

Öncelikle, WordPress’te… wp-content/plugins/ Dizin içinde, “örneğin” adında yeni bir klasör oluşturun. my-first-pluginBu klasör içinde, ana dosya olarak kullanılacak yeni bir PHP dosyası oluşturun; dosyanın adı da aynı şekilde olabilir. my-first-plugin.phpDaha önce bahsedilen eklenti başlık bilgilerini bu dosyanın başına kopyalayın.

Fonksiyonları eklemek için kancalar (hooks) kullanın.

WordPress'in temel mekanizması “Hooks”tir. Bu, belirli bir zamanda özel kod ekmenize olanak tanır. Hooklar ikiye ayrılır: Eylem Hookları (Action Hooks), bazı işlemleri gerçekleştirir (örneğin içerik çıktısı) ve Filtre Hookları (Filter Hooks), bazı verileri değiştirir (örneğin metin içeriğini değiştirir).

Bir sayfanın alt kısmında (footer) bilgi göstermek istiyorsak, bunu şu şekilde yapabiliriz: wp_footer Bu eylem için bir “hook” (düğüm/eklem). Eklentinin ana dosyasına aşağıdaki kodu ekleyin:

Tavsiye edilen okuma WordPress eklenti geliştirmenin detaylı analizi: sıfırdan başlamak ve verimli özelleştirmeye geçmek.

function my_first_plugin_display_message() {
    echo '<p style="text-align: center; color: #666;">İlk WordPress eklentimizi kullanmaya hoş geldiniz!</p>';
}
add_action( 'wp_footer', 'my_first_plugin_display_message' );

Dosyayı kaydettikten sonra, WordPress arayüzünün “Eklentiler” sayfasına gidin. Orada “Benim Güçlü Eklentim” adında bir eklenti görmelisiniz. Bu eklentiyi etkinleştirin, ardından web sitesinin ön yüzüne gidin ve sayfanın en altına kadar kaydırın; gösterilen bilgileri orada görebilirsiniz.

Eklenti Geliştirmenin İleri Düzey Temel Teknolojileri

Temelleri öğrendikten sonra, işlevsel, stabil ve güvenli eklentiler oluşturmak için gerekli olan birkaç temel kavramı derinlemesine öğrenmeniz gerekecektir.

Güvenlik ve Veri Doğrulama

Kullanıcıların girdiği verilere asla güvenmeyin. Kullanıcı formlarından, URL parametrelerinden veya herhangi bir dış kaynaktan gelen tüm verilerin doğrulanması ve temizlenmesi gerekmektedir. WordPress, bu işlemleri kolaylaştırmak için bir dizi fonksiyon sunar:
* sanitize_text_field()Metin dizisini temizleyin.
* intval()absint()Değişkenin bir tam sayı olduğundan emin olun.
* wp_kses()İçeriği, izin verilen HTML etiketlerine göre temizleyin.
* check_admin_referer()wp_nonce_field()Korsan istek sahteciliği (Cross-Site Request Forgery – XSS) saldırılarını önler.

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

Örneğin, bir formdan gelen metin girdisini işlemek:

$user_input = $_POST['some_text_field'] ?? '';
$clean_input = sanitize_text_field( $user_input );
// 现在可以安全地使用 $clean_input

Yönetim sayfası oluşturun.

Çoğu eklentinin, seçenekleri yapılandırmak için bir arka uç yönetim arayüzüne ihtiyacı vardır. WordPress, üst düzey menüler veya alt menüler eklemek için fonksiyonlar sağlar. Temel fonksiyonlar şunlardır: add_menu_page()add_submenu_page()

Aşağıdaki örnek, basit bir eklenti ayar sayfasının nasıl ekleneceğini göstermektedir:

Tavsiye edilen okuma WordPress Eklenti Geliştirme: Sıfırdan Başlayarak Özel İşlevlere Sahip Eklentiler Oluşturma

function my_plugin_add_admin_menu() {
    add_menu_page(
        '我的插件设置',        // 页面标题
        '我的插件',           // 菜单标题
        'manage_options',     // 所需权限
        'my-plugin-settings', // 菜单slug
        'my_plugin_settings_page', // 显示页面内容的回调函数
        'dashicons-admin-generic', // 图标
        80                    // 菜单位置
    );
}
add_action( 'admin_menu', 'my_plugin_add_admin_menu' );

function my_plugin_settings_page() {
    // 检查用户权限
    if ( !current_user_can( 'manage_options' ) ) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
        <form action="/tr/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            // 输出设置字段,这通常与 settings API 配合使用
            settings_fields( 'my_plugin_options' );
            do_settings_sections( 'my-plugin-settings' );
            submit_button();
            ?>
        <input type="hidden" name="trp-form-language" value="tr"/></form>
    </div>
    &lt;?php
}

Ayar API’sini kullanarak seçenekleri saklayın.

Veritabanına doğrudan okuma ve yazma işlemleri önerilmez. WordPress bunun için gerekli araçları sağlar. Settings APIEklenti seçeneklerinin kaydını, depolanmasını ve görüntülenmesini güvenli ve standart bir şekilde gerçekleştirir.

Basitleştirilmiş bir süreç şunları içerir:
1. Kullanım register_setting() Bir dizi ayarı kaydedin.
2. Kullanın. add_settings_section() Bir ayar bölümü ekleyin.
3. Kullanım add_settings_field() Blok içine belirli alanlar ekleyin.
4. 在设置页面回调函数中,使用 settings_fields()do_settings_sections() Tüm alanları çıkarın.

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.

Eklentilerin Yayınlanması ve Bakımı

Geliştirme işlemi tamamlandıktan sonra, eklentiyi başkalarıyla paylaşmak isteyebilirsiniz; ister resmi katalogda ücretsiz olarak yayınlamak istersiniz isterse ticari bir ürün olarak sunmak isteyin. Bu süreç, kodun son optimizasyonunu, dokümantasyonun hazırlanmasını ve sonraki güncellemeleri içerir.

Uluslararasılaştırma ve Yerelleştirme Hazırlıkları

Eklentinizin tüm dünyadaki kullanıcılar tarafından kullanılabilmesi için uluslararasılaştırma şarttır. Bu, tüm kullanıcıya yönelik metin dizelerini belirli fonksiyonlarla sarmanız gerektiği anlamına gelir. Özellikle iki fonksiyon kullanılır: Metinleri çevirmek için… __() Ve çeviri metnini geri yansıtmak için kullanılan… _e()

Daha önceki örneği değiştirerek uluslararasılaştırmayı destekleyecek hale getirin:

function my_first_plugin_display_message() {
    // 使用 __() 获取翻译后的字符串
    $message = __( '欢迎使用我的第一个WordPress插件!', 'my-awesome-plugin' );
    printf( '<p style="text-align: center; color: #666;">%s</p>', esc_html( $message ) );
}
add_action( 'wp_footer', 'my_first_plugin_display_message' );

Dikkat edin,__() İkinci parametre “metin alanıdır” ve bu parametre, eklentinin başlık kısmındaki yorumlarla uyumlu olmalıdır. Text Domain Tamamen uyumlu. Daha sonra, Poedit gibi araçları kullanarak içerikleri oluşturabilirsiniz. .pot Şablon dosyaları ve… .po/.mo Çeviri dosyası.

Performans optimizasyonu ve en iyi uygulamalar.

Mükemmel bir eklenti, web sitesinin performansı üzerinde en az etkiye sahip olmalıdır. Aşağıdaki noktalara dikkat ederek bunu sağlayabilirsiniz:
* 按需加载资源:仅在需要的地方使用 wp_enqueue_script()wp_enqueue_style() CSS ve JavaScript dosyalarını yükleyin ve bunları kullanın. admin_enqueue_scriptswp_enqueue_scripts Kanca.
* 数据库查询优化:合理使用 WP_QueryDöngüler sırasında sorgulamalardan kaçının ve bunları etkili bir şekilde kullanın. transients Önbelleğe alınan ve zaman alan işlemlerin sonuçları.
* 代码组织:随着插件功能增多,将代码拆分到不同的文件中(如 includes/, admin/, public/ (Katalog), ve nesne yönelimli programlamayı kullanarak kod yapısını daha iyi bir şekilde düzenleyin.

Özetle.

WordPress eklenti geliştirme, temel kavramları (örneğin eklentiler arası bağlantılar, ana dosya yapısı) anlamaktan başlayarak, güvenlik, yönetim arayüzleri, ayar API’leri ve uluslararasılaştırma gibi daha karmaşık konulara doğru ilerleyen bir süreçtir. “Hello World” adlı basit bir eklentiyle başlayarak hızlı bir geri bildirim alabilir ve kendinize güven kazanabilirsiniz. Önemli olan, her zaman güvenli kodlama standartlarına uymak, WordPress’in sunduğu geniş API’leri kullanarak işlevler oluşturmak ve eklentinizin küresel olarak kullanılabilir olmasına ve uzun süreli bakımına hazırlıklı olmaktır. Topluluğun en iyi uygulamalarını sürekli öğrenmek ve kodunuzu aktif olarak test etmek, mükemmel bir eklenti geliştiricisi olmanın anahtarlarıdır.

Sıkça Sorulan Sorular.

###: WordPress eklentisi geliştirmek için hangi programlama dilleri bilgisine ihtiyaç vardır?
WordPress eklentileri geliştirmek için öncelikle PHP’yi iyi bilmek gerekmektedir; çünkü PHP, WordPress’in temel programlama dilidir. Aynı zamanda, eklentinin ön uç arayüzünü ve etkileşim mantığını oluşturmak için temel HTML, CSS ve JavaScript bilgisine de sahip olmanız gerekir. SQL hakkında temel bir bilgiye sahip olmak, karmaşık veritabanı işlemlerini gerçekleştirmede yardımcı olur. WP_Query$wpdb Sınıf, veritabanı ile olan etkileşimin büyük bir kısmını zaten kapsamaktadır.

Geliştirilmekte olan bir WordPress eklentisini nasıl hata ayıklarım?

Öncelikle, sizin… wp-config.php Dosyada etkinleştirildi. WP_DEBUG Mod, ilgili sabitleri şu şekilde ayarlayın: trueBu, PHP hatalarını, uyarılarını ve bildirimlerini ekran veya günlük dosyasına yazdırır. İkincisi, kullanmak… error_log() Bu fonksiyon, özelleştirilmiş hata ayıklama bilgilerini sunucunun hata günlüğüne yazar. Daha karmaşık hata ayıklamaları için, Xdebug gibi özel PHP hata ayıklama araçlarını kullanmayı düşünebilirsiniz; bu araçlar, bir IDE ile birlikte kullanıldığında kesme noktaları belirlemenize ve kodu adım adım çalıştırmanıza olanak tanır.

Eklentim, temalar ve diğer eklentilerle nasıl uyumlu çalışır?

Uyumluluğu sağlamanın en iyi yollarından biri, WordPress kodlama standartlarına ve yaygın olarak kullanılan API’lere uymaktır. Fonksiyonlarınız, sınıflarınız, eylemleriniz ve filtreleriniz için benzersiz önekler kullanın; böylece diğer kodlarla isim çatışmaları oluşmaz. Eklentilerin sunduğu özellikleri kullanmadan önce, bu özelliklerin nasıl kullanıldığını dikkatlice inceleyin. function_exists()class_exists() Kontrol edin. Kancaları dikkatlice ekleyin ve kaldırın; ayrıca eklentinizin oluşturduğu tüm özel veritabanı tablolarını, seçenekleri ve kullanıcı yeteneklerini açık bir şekilde kaydedin.

Ücretsiz eklentimi ücretli bir eklentiye dönüştürebilir miyim?

Teknik olarak mümkündür, ancak ilgili lisans anlaşmalarına uymak zorundasınız. Eğer başlangıçta WordPress resmi kataloğunda yayınlarken GPL lisansını kullandıysanız (ki bu zorunludur), o zaman eklentinizin çekirdek kodunun her zaman GPL ile uyumlu olması gerekmektedir. Yaygın bir uygulama “Freemium” modelidir: Resmi katalogda sınırlı özelliklere sahip ücretsiz bir sürüm sunulurken, kendi web sitenizde daha kapsamlı özelliklere ve ek desteğe sahip profesyonel bir sürüm sunulur. Lütfen unutmayın ki, popüler bir ücretsiz eklentinin resmi katalogdan kaldırılması kullanıcı topluluğunda hoşnutsuzluğa neden olabilir.