Sıfırdan Bir: WordPress Eklenti Geliştirme Pratik Rehberi ve Temel Kavramların Açıklaması

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

WordPress Eklenti Geliştirme Genel Bakışı

WordPress eklentileri, PHP kodu yazarak WordPress’in temel özelliklerini genişletmek için kullanılan güçlü araçlardır. Bir eklenti, basit bir dosya olabileceği gibi, bir klasör içinde birden fazla dosyayı da içerebilir. Temel amacı, WordPress’in kaynak kodunu değiştirmeden kullanıcıların web sitelerine yeni özellikler eklemek veya mevcut işlevleri değiştirmektir. İster kenar çubuğuna küçük bir araç eklemek olsun, ister karmaşık bir e-ticaret sistemi oluşturmak olsun, bunlar eklentiler aracılığıyla gerçekleştirilebilir.

Eklenti geliştirmeyi anlamak, WordPress ekosisteminde değer yaratmanın temel yollarını kavradığınız anlamına gelir. Bu, sadece PHP diline temel bir bilgi sahibi olmayı gerektirmez; daha da önemlisi, WordPress’in kodlama standartlarına ve mimari modellerine uymak zorundasınız (örneğin, eylem kancalarını [action hooks] kullanmak).add_actionVe filtre kancaları.add_filterİyi yapılandırılmış, güvenli ve verimli bir eklenti geliştirmek, uyumluluğunu, sürdürülebilirliğini sağlamanın ve kullanıcıların güvenini kazanmanın anahtarıdır.

Geliştirme Ortamının Kurulması ve Hazırlık İşlemleri

İlk satır kodu yazmadan önce, profesyonel bir yerel geliştirme ortamı oluşturmak çok önemlidir. Bu, çevrimiçi web sitesini etkilemeden testler yapmanıza ve hataları düzeltmenize olanak tanır.

Tavsiye edilen okuma Sıfırdan başlamak: WordPress eklenti geliştirme tam rehberi ve en iyi uygulamaların paylaşılması.

Yerel Geliştirme Ortamı Ayarları

Yerel sunucu entegrasyon paketlerinin kullanılmasını öneririz; örneğin Local by Flywheel, DevKinsta veya XAMPP. Bu araçlar, PHP, MySQL ve web sunucularını (Apache veya Nginx gibi) tek bir tıklamayla kurmanıza olanak tanır. Ortamdaki PHP sürümünün, popüler WordPress sürümlerinin gereksinimlerine uygun olduğundan emin olmanız 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%).

Aynı zamanda, Visual Studio Code veya PHPStorm gibi bir kod editörüne ihtiyacınız olacak. WordPress’in temel dosyalarını yerel sunucunuzun web sitesi kök dizinine yükleyin ve standart kurulum işlemlerini tamamlayın. Kurulum sırasında bu öneriyi dikkate almanızı öneririz.WP_DEBUGBu mod, geliştirme sürecinde hataları zamanında tespit etmeye yardımcı olur. Web sitesinde bunu kullanabilirsiniz.wp-config.phpDosyada, sabitlerin ayarlanması yoluyla…define('WP_DEBUG', true);Hata ayıklama modunu etkinleştirmek için buraya tıklayın.

Gerekli Bilgiler ve Araçlar

PHP temel dilbilgisine, nesne yönelimli programlama kavramlarına ve HTML/CSS/JavaScript’e aşina olmanız gerekmektedir. WordPress’in temel işlemlerini ve veritabanı yapısını (özellikle…) bilmelisiniz.wp_postswp_optionsTablolar da büyük faydalar sağlar.

Araçlar açısından, editörlerin yanı sıra tarayıcı geliştirici araçları da ön uç hata ayıklaması için olmazsa olmaz araçlardır. Sürüm kontrolü için Git kullanılmasını şiddetle öneririm ve kodun GitHub, GitLab gibi platformlarda barındırılmasını tavsiye ederim. Bu, sadece iyi bir kod yönetim uygulaması değil; aynı zamanda ileride eklentilerin resmi kataloglara gönderilmesi için de ön koşuldur.

İlk eklentinizi oluşturun.

Klasik bir “Hello World” örneğiyle başlayalım; bu, eklentinin temel yapısını ve etkinleştirme mekanizmasını hızlı bir şekilde anlamanıza yardımcı olacaktır.

Tavsiye edilen okuma WordPress Eklenti Geliştirme Kılavuzu: Sıfırdan Başlayarak Yayına Hazırlamaya Kadar Pratik Bir Rehber

Ana eklenti dosyasının oluşturulması

Her eklentinin bir ana PHP dosyası olmalı ve dosyanın baş kısmında standart bir eklenti bilgisi yorumu bulunmalıdır.wp-content/pluginsDizin içinde, örneğin “new_folder” adında yeni bir klasör oluşturun.my-first-pluginBu klasör içinde, ana dosyayı oluşturun.my-first-plugin.php

Bu dosyaya aşağıdaki kodu yazmanız gerekiyor:

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

// 防止直接访问此文件
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

/**
 * 在页面底部输出问候语
 */
function my_first_plugin_display_greeting() {
    echo &#039;<p id="my-greeting">Merhaba, benim ilk eklentimden geliyorum!</p>';
}
// 将函数挂载到 'wp_footer' 动作钩子
add_action( 'wp_footer', 'my_first_plugin_display_greeting' );

Dosyayı kaydettikten sonra, WordPress arayüzünün “Eklentiler” sayfasına gidin. “İlk Eklentim” adlı eklentinin eklenti listesinde yer aldığını göreceksiniz. “Etkinle” butonuna tıklayın; ardından web sitesinin ön yüzüne geri dönün ve sayfanın alt kısmında oluşturulan selam mesajını göreceksiniz.

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

Temel yapıyı anlamak

Bu basit eklenti, birkaç temel kavramı göstermektedir: Eklenti başlığındaki yorumlar, WordPress’in eklentiyi tanıması için gerekli bilgilerdir.! defined( 'ABSPATH' )Denetim, dosyaların doğrudan erişilmesini önlemek için bir güvenlik önlemidir; biz de özel bir fonksiyon tanımladık.my_first_plugin_display_greetingArdından kullanın.add_actionFonksiyon, kendisini buna kaydeder.wp_footerBu eylem, bir “action hook” üzerine bağlanmış durumda. WordPress, sayfanın alt kısmında (footer) içerikleri görüntülerken, bu hook’a bağlı tüm işlemleri gerçekleştirir. Yani, sayfanın alt kısmına eklenen herhangi bir kod veya fonksiyon, WordPress tarafından otomatik olarak çağrılır.wp_footerBu fonksiyon sayesinde içeriğimizi çıktı olarak alabiliriz.

Çekirdek Geliştirme Kavramlarının Derinlemesine Analizi

İçerik açısından zengin eklentiler geliştirmek için, WordPress’in sunduğu temel programlama arayüzlerini derinlemesine anlamak şarttır.

Kancalı Mekanizmanın Uygulamaları

Kancalar (Hooks), WordPress eklenti mimarisinin temel taşlarından biridir ve “Eylem” (Action) ile “Filtre” (Filter) olarak ikiye ayrılır. Eylemler, belirli zaman noktalarında (örneğin bir makale yayınlandıktan sonra veya bir sayfa yüklendiğinden önce) özelleştirilmiş kodları çalıştırmanıza olanak tanır. Yukarıdaki örnekte…add_action( 'wp_footer', ... )Bu, eylemlerin tipik bir uygulamasıdır.

Tavsiye edilen okuma Sıfırdan Başlamak: Uygulamalı Eğitimlerle WordPress Eklentisi Geliştirmeye Yönelik Nihai Kılavuz

Filtreler, verileri değiştirmenize olanak tanır. Örneğin, makale içeriği kullanıcılara gösterilmeden önce bir dizi filtreden geçer. Bunu kullanabilirsiniz.add_filterBir fonksiyon kullanarak bunu değiştirebilirsiniz. Aşağıdaki kod, tüm makale başlıklarına bir önek ekler:

function my_first_plugin_add_title_prefix( $title ) {
    if ( is_single() ) { // 仅在单篇文章页面生效
        return '[重要] ' . $title;
    }
    return $title;
}
add_filter( 'the_title', 'my_first_plugin_add_title_prefix' );

Eklenti ayarları sayfası oluşturma

Birçok eklentinin yapılandırma seçenekleri sunması gerekmektedir. En iyi uygulama, WordPress arayüzünde özel bir ayar sayfası oluşturmaktır. Bu genellikle belirli araçların veya özelliklerin kullanılmasını içerir.add_menu_page()add_options_page()Sayfaları eklemek için bir fonksiyon kullanılır ve ardından WordPress’in Ayarlar API’si (Settings API) ile seçenekler güvenli bir şekilde kaydedilir, saklanır ve doğrulanı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.

Aşağıda, bir üst düzey menü sayfasının nasıl ekleneceğini gösteren basitleştirilmiş bir örnek bulunmaktadır:

// 在管理员菜单中添加页面
function my_first_plugin_add_admin_menu() {
    add_menu_page(
        '我的插件设置', // 页面标题
        '我的插件',     // 菜单标题
        'manage_options', // 权限要求
        'my-first-plugin-settings', // 菜单slug
        'my_first_plugin_settings_page', // 显示页面内容的回调函数
        'dashicons-admin-generic', // 图标
        100 // 菜单位置
    );
}
add_action( 'admin_menu', 'my_first_plugin_add_admin_menu' );

// 设置页面的内容
function my_first_plugin_settings_page() {
    ?&gt;
    <div class="wrap">
        <h1>Eklenti ayarlarım.</h1>
        <form action="/tr/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            settings_fields( 'my_first_plugin_options_group' ); // 输出安全字段
            do_settings_sections( 'my-first-plugin-settings' ); // 输出设置区域
            submit_button(); // 输出提交按钮
            ?>
        <input type="hidden" name="trp-form-language" value="tr"/></form>
    </div>
    &lt;?php
}

Veri Etkileşimi ve Güvenliği

Eklentiler sık sık veritabanıyla etkileşim kurmaya ihtiyaç duyar; örneğin ayarları kaydetmek veya özel veritabanı tabloları oluşturmak için. WordPress bunu sağlar.wpdbKlaslar kullanarak veritabanı işlemlerini güvenli bir şekilde gerçekleştirin. Asla PHP’nin MySQL fonksiyonlarını doğrudan kullanmayın ve SQL sorgularını elle birleştirmeyin; bunun yerine uygun klasları kullanın.$wpdb->prepare()Metotlar, SQL enjeksiyon saldırılarını önlemek için parametreli sorgular yapmak üzere tasarlanmıştır.

Eklentilerin ayar seçenekleri için, WordPress’in yerleşik ayar API’si kullanılmalıdır.update_option()get_option()Bu fonksiyonlar verilerin depolanması ve okunması için kullanılır. Kullanıcıların ön uç formlar aracılığıyla gönderdiği verileri işlerken, bu fonksiyonların kullanılması zorunludur.sanitize_text_field()esc_html()wp_strip_all_tags()Bu fonksiyonlar, girdiyi temizler ve escape işlemleri uygular; ayrıca veritabanına veya tarayıcıya çıktı gönderilirken gerekli escape işlemleri yapılır.esc_attr()esc_url()(vb.).

Eklenti Yayını ve Bakımı

Geliştirme işlemi tamamlandıktan ve ürün yeterince test edildikten sonra, eserlerinizi başkalarıyla paylaşmak isteyebilirsiniz.

Eklenti Testi ve Optimizasyonu

Yayınlamadan önce kapsamlı testler yapılmalıdır: Farklı PHP sürümlerinde, farklı WordPress sürümlerinde test edilmeli ve popüler temalar ve diğer eklentilerle uyumluluk kontrolü yapılmalıdır. Kodun PHP uyarıları, bildirimleri veya hataları içermediğinden emin olun.WP_DEBUGPerformans açısından, veritabanı sorgu sayısına ve uygun şekilde önbellekleme yapılmış olup olmadığına dikkat edin.

Eklentilere uluslararası destek eklemek iyi bir alışkanlıktır; bu sayede eklentiniz dünya genelindeki kullanıcılar tarafından kullanılabilir.__( ‘文本’, ‘my-first-plugin’ )Bu fonksiyonlar, çevrilmeleri gereken tüm metinleri kapsar ve bunları üretir..potÇeviri şablonu dosyasını dönüştürün.

Resmi kataloga gönderme

Eklentiyi WordPress.org’un resmi eklenti dizinine yayınlamak için, WordPress.org’da bir hesap oluşturmanız ve eklentiyi göndermeniz gerekmektedir. Bu işlem, eklentinizin kodunun GPL lisansına uygun olmasını ve standart gereksinimleri karşılamasını gerektirir.readme.txtDosya. İnceleme onaylandıktan sonra, kullanıcılar diğer eklentileri yükler gibi, arka plandan doğrudan sizin eklentinizi arayıp yükleyebilecekler.

Yayınlandıktan sonra, bakım işlemleri de aynı derecede önemlidir: Kullanıcı geri bildirimlerine zamanında yanıt vermek, raporlanan hataları düzeltmek, WordPress’in yeni sürümlerine uyum sağlamak ve gerektiğinde yeni özellikler eklemek. İyi bir bakım, bir eklentinin itibarını oluşturmanın anahtarıdır.

Özetle.

WordPress eklenti geliştirme, yaratıcılığı gerçek işlevlere dönüştürme sürecidir ve geliştiricilerden PHP becerilerini WordPress’in özel yapısıyla (özellikle de eklenti mekanizmalarıyla) birleştirmelerini gerektirir. Basit bir işlev kod bloğu yazmaktan, ayar sayfalarına, özelleştirilmiş veritabanı tablolarına ve tamamen uluslararasılaştırılmış karmaşık çözümlere kadar olan tüm süreç, “güvenlik, standartlar ve sürdürülebilirlik” temel ilkelerine göre yürütülür. Profesyonel bir yerel ortam oluşturarak, eylemleri ve filtreleri derinlemesine anlayarak ve güvenli kodlama uygulamalarına sıkı sıkıya bağlı kalarak, herkes bu beceriyi adım adım öğrenebilir ve geniş WordPress ekosistemine kendi katkısını sunabilir.

Sıkça Sorulan Sorular.

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

Evet, PHP, WordPress eklentilerinin geliştirilmesinde temel bir rol oynar. En azından PHP’nin temel sözdizimini, fonksiyon tanımlarını, koşullu ifadeleri, döngüleri ve nesne yönelimli programlamanın temel kavramlarını bilmelisiniz. Veritabanı işlemlerini yapmak için SQL temellerini bilmek de çok faydalıdır.

Kendi eklenti kodunuzun diğer eklentilerle çakışmasını nasıl önleyebilirsiniz?

En iyi uygulama, benzersiz fonksiyon adı önekleri, sınıf adları ve sabit adları kullanmaktır. Örneğin, şunları kullanmayın:get_data()Bu tür genel adlar yerine, şu adın kullanılması daha uygundur:myplugin_get_data()Sınıflar için ad alanları (namespace) kullanılabilir (PHP 5.3 ve üzeri). Aynı zamanda, kod mantığını sınıfların veya fonksiyonların içine kapsayarak, kodun doğrudan genel (global) alan içinde çalıştırılmasından veya değişkenlerin orada tanımlanmasından kaçının.

Eklenti geliştirme sürecinde en önemli güvenlik önlemi nedir?

Giriş doğrulama, çıkış verilerinin uygun şekilde işlenmesi ve WordPress’in güvenlik açıklarının kullanılması çok önemlidir. Kullanıcıların girdilerine asla güvenmeyin; her zaman girdileri doğrulamalı ve güvenli bir şekilde işlemelisiniz.sanitize_*()Seri fonksiyonlar temizlenmelidir. Herhangi bir veriyi HTML, özellik veya URL olarak çıkardığınızda, bunları ayrı ayrı kullanmanız gerekir.esc_html()esc_attr()esc_url()Gerekli yerlerde escape işlemleri yapılmalıdır. Veritabanı işlemleri için mutlaka uygun yöntemler kullanılmalıdır.wpdbSınıflar ve bunların…prepare()Yöntem.

Neden eklentim aktive edildikten sonra web sitesinde beyaz ekran görünüyor?

Bu durum genellikle ölümcül hatalar (örneğin sözdizimi hataları, tanımlanmamış fonksiyonların veya sınıfların çağrılması) nedeniyle olur. Öncelikle, yerel veya test ortamınızın etkinleştirildiğinden emin olun.WP_DEBUGBu durumda hata mesajları görüntülenir. En yaygın nedenler, PHP sürüm uyumsuzluğu, eklentide doğru şekilde dahil edilmemiş bağımlılık dosyalarının kullanılması veya eklentinin etkinleştirme işlemlerinde yanlış kodların çalıştırılmasıdır. En son değiştirilen kodları satır satır incelemenizi ve web sitesini düzeltmek için eklentiyi FTP aracılığıyla devre dışı bırakmanızı öneririz.