WordPress Eklenti Geliştirme Konusunda Uzmanlaşın: Sıfırdan Başlayarak Kapsamlı Bir Pratik Rehber

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

Günümüz web sitesi geliştirme alanında, WordPress güçlü ölçeklenebilirliği sayesinde önemli bir konumda yer almaktadır. Bu ölçeklenebilirliğin temeli, eklentiler (plugins) aracılığıyla sağlanmaktadır. İster bir web sitesine basit bir iletişim formu eklemek olsun, ister karmaşık bir e-ticaret sistemi oluşturmak olsun, eklentiler işlevlerin genişletilmesinin temel taşıdır. WordPress eklentilerinin geliştirilmesini anlamak ve öğrenmek, web sitesi işlevlerini derinlemesine özelleştirebilmeniz, belirli iş ihtiyaçlarını karşılayabilmeniz ve hatta yaratıcılığınızı paylaşılabilir ürünlere dönüştürebilmeniz anlamına gelir.

WordPress Eklenti Geliştirme Temelleri ve Ortam Kurulumu

İlk satır kodu yazmadan önce, WordPress eklentilerinin temel kavramlarını anlamamız ve geliştirme ortamını hazırlamamız gerekiyor. Bir WordPress eklentisi, esasen bir veya daha fazla PHP dosyasından oluşur; bu dosyalar WordPress’in kodlama standartlarına uyar ve WordPress’in sunduğu API’leri kullanarak çekirdek işlevleri genişletir.

Geliştirme öncesi temel kavramlar

Bir eklenti, WordPress’e eklentinin varlığını bildirmek için belirli yorum bilgilerine sahip bir başlık satırına sahip bir ana dosya içermelidir. Bu ana dosyanın adı genellikle benzersizdir, örneğin: my-first-plugin.phpEklentiler bağımsız olarak çalışabilir ve belirli bir temaya bağlı olmamalıdır; bu da onların farklı WordPress sitelerinde kullanılabilirliğini sağlar.

Tavsiye edilen okuma WordPress Eklenti Geliştirme Becerilerini Kazanın: Sıfırdan Başlayarak İlk Özel Eklentinizi Oluşturun

Yerel geliştirme ortamını kurmak.

Verimli bir yerel geliştirme ortamı şarttır. Local by Flywheel, XAMPP veya MAMP gibi entegre yerel sunucu çözümlerinin kullanılması önerilir. Bu araçlar, WordPress’i tek tıklamayla kurmanıza ve PHP, MySQL ve web sunucusunu doğru şekilde yapılandırmanıza olanak tanır. Ayrıca, Visual Studio Code veya PhpStorm gibi bir kod editörüne ve kod ipuçları ile hata ayıklama için WordPress’e özel eklentilere ihtiyacınız olacaktır.

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

İlk WordPress eklentinizi oluşturun.

Basit bir “Hello World” eklentisiyle başlayalım; bu, eklentilerin temel yapısını ve etkinleştirme sürecini anlamanıza yardımcı olacaktır.

Eklenti ana dosyasının yapısı

Her eklentinin bir ana PHP dosyasından başlaması gerekmektedir. WordPress kurulum dizininizdeki… /wp-content/plugins/ Klasörün içinde, örneğin, yeni bir klasör oluşturun. my-greeting-pluginBu klasör içinde, ana dosyayı oluşturun. my-greeting-plugin.php

Bu dosyanın başında standart bir eklenti başlık yorumu bulunmalıdır; bu, WordPress’in eklentiyi tanımasını ve arka plan yönetim arayüzünde göstermesini sağlayan kritik bir unsurdur.

<?php
/**
 * Plugin Name:       我的问候插件
 * Plugin URI:        https://example.com/my-greeting-plugin
 * Description:       这是一个简单的插件,用于在网站底部显示问候语。
 * Version:           1.0.0
 * Author:            Your Name
 * Author URI:        https://example.com
 * License:           GPL v2 or later
 * Text Domain:       my-greeting-plugin
 */

Basit bir işlevi gerçekleştirin.

Şimdi, bu eklentiye basit bir özellik ekleyelim: Web sitesinin ön sayfasının alt kısmında bir metin parçası görüntülesin. Bunun için WordPress’i kullanacağız. wp_footer Eylem kancaları (Action Hooks).

Tavsiye edilen okuma WordPress Eklenti Geliştirme: Başlangıçtan Uzmanlığa – Pratik Deneyimler ve Temel Teknikler Paylaşımı

Eklentinin ana dosyasının baş kısmındaki yorumların hemen altına aşağıdaki kodu ekleyin:

// 在 wp_footer 钩子上挂载我们的函数
add_action( 'wp_footer', 'my_greeting_display' );

/**
 * 输出问候语的函数
 */
function my_greeting_display() {
    echo '<p style="text-align: center; color: #666;">Web siteme hoş geldiniz! Bu özellik, “Merhaba Eklentisi” tarafından sağlanmaktadır.</p>';
}

Dosyayı kaydettikten sonra, WordPress yönetim panelinin “Eklentiler” sayfasına gidin. “My Greeting Plugin” adlı eklentinin eklenti listesinde yer aldığını görmelisiniz. “Etkinle” butonuna tıklayın, ardından web sitenizin ön yüz sayfasına gidin ve sayfanın en altına kadar kaydırın; eklediğiniz selam mesajını orada görebileceksiniz. Bu süreç, bir eklentinin oluşturulmasını, etkinleştirilmesini ve temel işlevlerinin gerçekleştirilmesini kapsamaktadır.

Özüne İnme: Hook’lar ve Filtreler (Deep Dive: Hooks and Filters)

WordPress eklenti geliştirmenin temeli, “Kancalar” (Hooks) mekanizmasıdır. Kancalar, belirli zaman noktalarında veya veriler işlenirken kendi kodunuzu eklemenize olanak tanır; bu sayede WordPress’in varsayılan davranışlarını değiştirebilir veya geliştirebilirsiniz. Kancalar esas olarak iki kategoriye ayrılır: Eylemler (Actions) ve Filtreler (Filters).

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

Hareket kancalarını (action hooks) anlamak ve kullanmak

Eylem kancaları, WordPress’in işlem akışının belirli anlarında tetiklenir; örneğin başlatılırken, makale kaydedilirken veya sayfa altı bilgileri görüntülendirilirken. Bu anlarda kendi fonksiyonlarınızı “bağlayarak” belirli görevleri gerçekleştirebilirsiniz. Önceki örneğimizde de bunu görmüştük. add_action( 'wp_footer', ... ) Aksiyon hook’larını kullanmak demek.

Başka bir yaygın eylem hook’u (action hook) ise… admin_menuBu, arka plan yönetim arayüzünde menü sayfaları eklemek için kullanılır. Örneğin, basit bir ayar sayfası eklemek için:

add_action( 'admin_menu', 'my_plugin_add_menu' );

function my_plugin_add_menu() {
    add_menu_page(
        '我的插件设置',          // 页面标题
        '我的插件',             // 菜单标题
        'manage_options',       // 权限要求
        'my-plugin-settings',   // 菜单slug
        'my_plugin_settings_page' // 显示页面的回调函数
    );
}

function my_plugin_settings_page() {
    echo '<div class="wrap"><h1>Eklenti ayarlarım.</h1><p>Bu, ayar sayfasıdır.</p></div>';
}

Filtre kancalarını anlamak ve kullanmak

Filtre kancaları, verileri değiştirmek için kullanılır. Veriler kullanılmadan önce (örneğin veritabanına kaydedilmeden veya tarayıcıda gösterilmeden önce) çağrılır ve fonksiyonunuz verileri alıp değiştirdikten sonra yeni verileri döndürebilir. Örneğin, the_content Filtre, her makalenin sonuna otomatik olarak bir metin parçası ekler.

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

add_filter( 'the_content', 'my_content_filter' );

function my_content_filter( $content ) {
    // 只在主循环的单篇文章页面添加
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $append_text = '<hr><p><em>Okuduğunuz için teşekkür ederiz! Daha fazla güncelleme almak için bizi takip etmeyi unutmayın.</em></p>';
        $content .= $append_text;
    }
    return $content; // 必须返回修改后的内容
}

Yapılandırılabilir bir eklenti oluşturma: Seçenekler ve ayarlar sayfası

Olgun bir eklenti genellikle kullanıcıların ayarlamalar yapmasına izin vermelidir. WordPress, ayar sayfalarını güvenli ve kolay bir şekilde oluşturmak ve seçenekleri kaydetmek için Settings API’sini sunar.

Ayar sayfası ve seçenek grupları oluşturun.

Öncelikle, biz… admin_init Aksiyonlar, ayarları, alanları ve bölümleri kaydetmek için kullanılır.

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.
add_action( 'admin_init', 'my_plugin_settings_init' );

function my_plugin_settings_init() {
    // 注册一个新的设置项到 “reading” 页面(或自定义页面)
    register_setting( 'reading', 'my_plugin_greeting_text' );

// 在现有设置页面添加一个区域
    add_settings_section(
        'my_plugin_section',                       // ID
        '我的插件设置',                            // 标题
        'my_plugin_section_callback',              // 回调函数(显示描述)
        'reading'                                  // 显示在哪个页面(reading, general等)
    );

// 向区域添加字段
    add_settings_field(
        'my_plugin_field',                         // ID
        '问候语文本',                              // 字段标题
        'my_plugin_field_callback',               // 渲染字段HTML的回调函数
        'reading',                                 // 页面
        'my_plugin_section'                        // 区域
    );
}

function my_plugin_section_callback() {
    echo '<p>Burada eklentinin selamlaşma mesajının gösterilecek içeriğini yapılandırabilirsiniz.</p>';
}

function my_plugin_field_callback() {
    // 从数据库中获取已保存的选项值
    $value = get_option( 'my_plugin_greeting_text', '默认问候语' );
    printf(
        '<input type="text" name="my_plugin_greeting_text" value="%s" style="width: 300px;" />'php
esc_attr($value);

Güvenli bir şekilde kaydetme ve kullanma seçenekleri

Settings API aracılığıyla kayıt olduktan sonra, WordPress form gönderildiğinde alanların doğrulanmasını, temizlenmesini ve kaydedilmesini otomatik olarak gerçekleştirir. Daha önceki işlevlerimizi, bu yapılandırılabilir seçeneği kullanacak şekilde değiştirebiliriz.

function my_greeting_display() {
    $greeting = get_option( 'my_plugin_greeting_text', '欢迎来到我的网站!' );
    printf( '<p style="text-align: center; color: #666;">%s</p>'`, esc_html( $greeting ) );`

Artık kullanıcılar, “Ayarlar” -> “Okuma” sayfasının alt kısmında eklentinizin ayarlar bölümünü bulabilir ve selamlaşma metnini değiştirebilirler. Bu, eklentinin esnekliğini ve kullanışlılığını büyük ölçüde artırmaktadır.

Özetle.

Eklentilerin temel yapısını anlamaktan, ilk “Hello World” eklentisini oluşturmaya, ardından WordPress’in temel mekanizmaları olan “kancalar”ı (eylemler ve filtreler) derinlemesine öğrenmeye ve son olarak kullanıcı ayar arayüzüne sahip olgun bir eklenti geliştirmeye kadar, bu tam bir WordPress eklenti geliştirme öğrenme yoludur. Önemli olan pratik yapmaktır: Basit işlevlerle başlayarak, Settings API, özelleştirilmiş veritabanı tabloları, kısa kodlar (Shortcode) ve REST API entegrasyonu gibi daha karmaşık kavramları kademeli olarak öğrenin. WordPress kodlama standartlarına ve güvenlik en iyi uygulamalarına her zaman uyun; örneğin çıktıları dönüştürün, girdileri doğrulayın ve çapraz sitelik istek sahteciliğini önlemek için Nonces kullanın. Sürekli iterasyon ve testler yoluyla, güçlü, güvenli, stabil ve popüler WordPress eklentileri geliştirebilirsiniz.

Sıkça Sorulan Sorular.

WordPress eklentisi geliştirmek için PHP’de ustalaşmak zorunda mıyım?

Evet, PHP, WordPress ve eklentilerinin geliştirilmesinde kullanılan temel dildir. PHP’nin temel sözdizimini, nesne yönelimli programlama kavramlarını iyi bilmeli ve MySQL veritabanıyla olan temel etkileşimleri anlamalısınız. Ayrıca, ön uç etkileşimlere sahip eklentiler oluşturmak için HTML, CSS ve JavaScript konularında temel bilgilere sahip olmak da çok önemlidir.

Geliştirdiğim WordPress eklentisini nasıl hata ayıklarım?

WordPress, çeşitli hata ayıklama araçları sunar. Öncelikle, wp-config.php Dosyada hata ayıklama (debugging) modu etkinleştirilecek. WP_DEBUG Sabit, olarak ayarlandı. trueBu, PHP hatalarını ve uyarılarını sayfada gösterecektir. Aynı zamanda, bunları kullanmak da mümkündür. error_log() Fonksiyon, bilgileri sunucunun hata günlüğüne kaydeder; ayrıca Query Monitor gibi daha gelişmiş araçlar da kullanılabilir. Query Monitor, veritabanı sorgularını, eklentileri (hook’ları), betikleri vb. izleyebilir ve geliştiriciler için çok değerli bir yardımcıdır.

Geliştirdiğim eklenti, farklı WordPress sürümleriyle uyumlu olacak şekilde nasıl tasarlanabilir?

Maksimum uyumluluğu sağlamak için, eklentinizin baş kısmında desteklenen en düşük WordPress sürümünü belirtmelisiniz. Requires at least Alanlar). Kodlama sırasında, eski veya kullanımdan kaldırılmış fonksiyonlardan kaçının; WordPress resmi kılavuzundaki sürüm bilgilerine bakabilirsiniz. Yeni sürümlerde eklenen fonksiyonları kullanmadan önce, bunların nasıl kullanılacağını öğrenin. function_exists() Denetim yapın ve eski sürümlerde de eklentinin temel olarak çalışabilmesini sağlayacak zarif bir geri dönüş (yedekleme) planı sunun.

WordPress resmi eklenti dizinine eklentimi nasıl gönderebilirim?

Resmi kataloga eklemek, dünya genelindeki kullanıcıların eklentinizi doğrudan arayıp yüklemesini sağlar. WordPress.org adresini ziyaret etmeniz ve bir hesap oluşturmanız gerekiyor; ardından eklentinin sıkıştırılmış dosyasını inceleme için göndermelisiniz. İnceleme sürecinde kod kalitesi, güvenlik, lisans (GPL ile uyumlu olması gerekiyor) ve katalog kurallarına uygunluk kontrol edilir. Eklentinizin ana dosyası standart başlık bilgilerini içermelidir ve mümkünse eksiksiz bir dokümantasyon da sağlanması iyi olacaktır. readme.txt Dosyanın formatı, WordPress’in gereksinimlerine uygun olmalıdır.