WordPress Eklenti Geliştirmeyi Sıfırdan Öğrenin: Özel Özellikler Oluşturma ve En İyi Uygulamalar

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

Neden kendi WordPress eklentilerinizi geliştirmeniz gerekiyor?

WordPress’in temel özellikleri çok güçlüdür; ancak sürekli değişen iş ihtiyaçları karşısında, önceden yüklenmiş özellikler genellikle yeterli olmaz. Özel eklentiler geliştirerek, herhangi bir özgün fikri WordPress’in temel dosyalarını değiştirmeden web sitenize sorunsuz bir şekilde entegre edebilirsiniz. Bu, web sitenizin bakımını ve yükseltme güvenliğini sağlar. Özel eklentiler, belirli işlevleri paketlemenize ve bunları farklı temalar arasında taşımanıza veya birden fazla web sitesinde yeniden kullanmanıza olanak tanır; bu da geliştirme verimliliğini büyük ölçüde artırır.

İlk WordPress eklentinizi oluşturun.

Temel bir WordPress eklentisi oluşturmak, bu altyapının nasıl çalıştığını anlamanın en iyi yoludur. Tüm süreç, basit bir klasör ve ana dosya oluşturarak başlar.

Eklentinin ana dosyasını oluşturun.

Her WordPress eklentisinin, baş kısmında belirli meta bilgileri içeren bir PHP dosyası olmalıdır. Bu dosya, eklentinin giriş noktasıdır. Şimdi, “main.php” adında bir dosya oluşturalım… my-first-plugin.php Dosya.

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

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

Yukarıdaki kodu içeren dosyayı şu yere koyun: /wp-content/plugins/my-first-plugin/ Dizinin ardından, WordPress arka planındaki “Eklentiler” sayfasında bu eklentiyi görebilir ve etkinleştirebilirsiniz. Şu an herhangi bir özelliği olmamasına rağmen, yapısı zaten tamamlanmış durumda.

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

Eklentiye basit bir özellik ekleyin.

Etkinleştirildikten sonra, işlevsiz bir eklentinin pek bir anlamı yoktur. Ona temel bir özellik ekleyelim: Web sitesinin alt kısmına özelleştirilmiş bir metin satırı ekleyelim. Bunun için WordPress’i kullanacağız. wp_footer Bu işlevi gerçekleştirmek için bir “kancaya” (hook) ihtiyaç var.

my-first-plugin.php Ana dosyanın yorumlarının altına aşağıdaki kodu ekleyin:

// 在网站页脚输出自定义文本
function myfp_add_footer_text() {
    echo '<p style="text-align: center;">İlk WordPress eklentimizi kullandığınız için teşekkür ederiz!</p>';
}
add_action( 'wp_footer', 'myfp_add_footer_text' );

Dosyayı kaydedin ve web sitesinin ön yüzünü yenileyin; sayfanın en alt kısmında eklenen metni göreceksiniz. Bu örnek, kullanımı göstermektedir. add_action() Bu fonksiyon, özel olarak oluşturulmuş bir fonksiyonu WordPress’in temel işlem akışına “monte” eder.

WordPress Eklentilerinin Temel Mekanizmalarına Derinlemesine Bakış

Güçlü ve stabil bir eklenti geliştirmek için, WordPress’in sunduğu birkaç temel programlama arayüzünü anlamak gereklidir: Eylem kancaları (Action Hooks), Filtre kancaları (Filter Hooks) ve kısa kodlar (Short Codes).

Tavsiye edilen okuma WordPress Eklenti Geliştirme Başlangıç Kılavuzu: Sıfırdan Başlayarak İlk İşlevsel Genişlemenizi Oluşturun

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

Eylem Kuralları (Action Hooks), WordPress’in belirli zaman noktalarında kendi kodunuzu eklemenize olanak tanır. Örneğin,init Kancalar, WordPress’in başlatılması sırasında tetiklenir ve genellikle özel makale türlerinin veya kategorilerinin kaydedilmesi için kullanılır.

Aşağıdaki kod, bir eklentinin başlatılması sırasında özel bir fonksiyonun nasıl çalıştırılacağını göstermektedir:

function myfp_custom_initialization() {
    // 在这里执行初始化任务,例如设置默认选项
    error_log('我的插件已初始化!');
}
add_action( 'init', 'myfp_custom_initialization' );

Başka bir sık kullanılan kancalı araç (hooked tool) ise… admin_menuArka plan yönetim paneline menü sayfaları eklemek için kullanılır. Bu araç sayesinde, eklentiler için ayrı ayrı ayar sayfaları oluşturabilirsiniz.

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

Filtre hook’larının kullanımını öğrenin.

Filtre kancaları (Filter Hooks), eylem kancalarından (Action Hooks) farklı olarak verileri değiştirmek için kullanılır. WordPress, verileri fonksiyonlara filtreler aracılığıyla iletir; fonksiyonlar verileri değiştirdikten sonra sonuçları geri döndürür. Örneğin,the_content Filtreler, makale içeriğini değiştirmek için kullanılır.

Aşağıdaki örnek, tüm makale içeriklerinin sonuna otomatik olarak bir ipucu metni nasıl ekleneceğini göstermektedir:

function myfp_add_content_note( $content ) {
    if ( is_single() ) {
        $note = '<div class="myfp-note">Bu metin, benim eklentim tarafından işlendi.</div>';
        $content .= $note;
    }
    return $content;
}
add_filter( 'the_content', 'myfp_add_content_note' );

Filtreleri esnek bir şekilde kullanarak, WordPress’in neredeyse tüm çıktı içeriğini müdahale gerektirmeden değiştirebilirsiniz.

Tavsiye edilen okuma WordPress Tema Geliştirme Kılavuzu: Prensiplerden Gerçek Uygulamalara

Kullanıcı dostu kısa kodlar oluşturmak

Kısa kodlar (Shortcodes), kullanıcıların veya geliştiricilerin makalelerde veya sayfalarda dinamik içerik eklemek için basit bir etiket kullanmalarını sağlar. add_shortcode() Fonksiyonlar, kısa kodların kolayca oluşturulmasını sağlar.

Örneğin, mevcut tarihi ve saati gösteren kısa bir kod oluşturmak için:

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.
function myfp_current_datetime_shortcode( $atts ) {
    // 处理短代码属性
    $attributes = shortcode_atts( array(
        'format' => 'Y-m-d H:i:s',
    ), $atts );

// 返回格式化后的当前时间
    return date( $attributes['format'] );
}
add_shortcode( 'show_current_time', 'myfp_current_datetime_shortcode' );

Oluşturulduktan sonra, kullanıcıların yapması gereken tek şey editörde gerekli bilgileri girmektir. [show_current_time format="F j, Y"] Bu şekilde biçimlendirilmiş bir tarih çıktısı elde edilir.

Eklenti geliştirmenin en iyi uygulamalarına uyun.

En iyi uygulamalara uyarak eklentinizin güvenli, verimli ve kolayca bakım yapılabilir olmasını sağlayabilirsiniz. Bu, eklentinizin genel olarak kullanıma sunulması veya bir ekip içinde işbirliği yapılması açısından son derece önemlidir.

Güvenlik ve Veri Doğrulama

Kullanıcılar veya dış kaynaklardan gelen tüm veriler güvenilmez olarak kabul edilmelidir. WordPress tarafından sağlanan yardımcı fonksiyonları kullanarak verilerin doğrulanması, temizlenmesi ve escape işlemlerinin yapılması temel bir gerekliliktir.

  • Doğrulama: Verilerin beklenen biçimlere uygun olup olmadığını kontrol edin (örneğin, e-posta olup olmadığı). Bunun için is_email()absint() Ve diğer fonksiyonlar.
  • Temizleme (Sanitasyon): Verileri temizleyin ve güvenli olmayan karakterleri kaldırın. Kullanın. sanitize_text_field()sanitize_email() Ve diğer fonksiyonlar.
  • Kaçış (Escaping): Verileri HTML, JavaScript veya URL'ye çıktı olarak vermeden önce onları kaçıştırın. Bunun için simgesini kullanın. esc_html()esc_js()esc_url() Ve diğer fonksiyonlar.

Aşağıdaki kod, form verilerinin veritabanına kaydedilmeden önce nasıl temizlendiğini göstermektedir:

$user_input = $_POST['custom_text'];
$clean_input = sanitize_text_field( $user_input );
update_option( 'myfp_saved_text', $clean_input );

Yapılandırılabilir eklenti seçeneklerini gerçekleştirin.

Eklentilere bir ayar sayfası sağlamak, kullanıcı deneyimini artırmanın anahtarıdır. Bu genellikle, eklentinin ayarlarını kolayca değiştirebilecek bir arayüzün oluşturulmasını içerir. admin_menu Menü öğelerini bir kancaya (hook) ekleyin ve seçenekleri güvenli bir şekilde kaydetmek, saklamak ve doğrulamak için WordPress ayar API’sini kullanın.

Öncelikle, bir yönetim menüsü ekleyin:

function myfp_add_admin_menu() {
    add_options_page(
        '我的插件设置',          // 页面标题
        '我的插件',              // 菜单标题
        'manage_options',       // 权限
        'myfp-settings',        // 菜单slug
        'myfp_settings_page'    // 回调函数,用于输出页面内容
    );
}
add_action( 'admin_menu', 'myfp_add_admin_menu' );

Ardından, tanımlamanız gerekiyor. myfp_settings_page Bu fonksiyon, form içeren bir ayar sayfasını renderlemek için kullanılır ve ayrıca… register_setting()add_settings_section()add_settings_field() Seçenekleri yönetmek için `wait` ve diğer fonksiyonlar kullanılır.

Kodun sürdürülebilirliğini sağlamak

Eklentilerin işlevselliği arttıkça, kodu modüler hale getirmek çok önemlidir. Farklı işlevleri (kısa kodlar, widget’lar, arka plan ayarları vb.) ayrı sınıflar veya dosyalara ayırmak gerekir. Nesne yönelimli programlama (OOP) kullanarak kodu daha iyi bir şekilde organize edebilir ve ilgili fonksiyonları ve verileri sınıflar aracılığıyla saklayabilirsiniz.

Sınıf dosyalarını ihtiyaç duyulduğunda otomatik olarak yüklemek için bir otomatik yükleyici (Autoloader) kullanmayı düşünebilirsiniz; bu, performansı artırabilir ve kod yapısını basitleştirebilir. Aynı zamanda, kodunuza açık ve anlaşılır açıklamalar ekleyin ve WordPress’in resmi kodlama standartlarına uyun; bu, başkalarının kodu okumasına ve katkıda bulunmasına yardımcı olacaktır.

Özetle.

WordPress eklenti geliştirme, yaratıcılığı işlevlere dönüştürme sürecidir ve temelinde hook sistemlerini ve kısa kodları anlamak ve ustaca kullanmak yatar. Standart başlık bilgileri içeren bir ana dosya oluşturarak başlayın; ardından işlem akışına müdahale etmek için eylem hook’larını entegre edin, verileri değiştirmek için filtre hook’larını kullanın ve kullanıcı dostu içerik ekleme yöntemleri sağlamak için kısa kodlardan yararlanın. Tüm geliştirme süreci boyunca güvenliği en öncelikli hale getirmelisiniz; verileri dikkatlice doğrulamalı, temizlemeli ve escape işlemlerini yapmalısınız. Aynı zamanda, ayar API’leri kullanarak sağlam arka uç seçenek sayfaları oluşturmalısınız. Modüler ve nesne yönelimli bir tasarım benimsemek ve kodlama standartlarına uymak, eklentinin uzun vadede sürdürülebilirliğini ve uyumluluğunu sağlamanın temel taşlarıdır. Bu ilkeleri ve uygulamaları öğrendiğinizde, güçlü, güvenli ve profesyonel bir WordPress eklentisi geliştirebilirsiniz.

Sıkça Sorulan Sorular.

WordPress eklentisi geliştirmek için hangi temel bilgilere ihtiyaç vardır?

WordPress eklentisi geliştirmek için PHP programlama diline dair temel bilgilere sahip olmak gerekmektedir; çünkü eklentiler esas olarak PHP kodundan oluşur. Aynı zamanda, ön uç görünümünü ve etkileşimini yönetebilmek için HTML, CSS ve JavaScript konularında da temel bilgilere ihtiyaç vardır. En önemlisi, WordPress’in temel yapısını, özellikle de eklentilerin çalışma mekanizmalarını (eylemler ve filtreler) ve veritabanı işlemlerini anlamaktır.

Yeni geliştirilen bir eklentiyi, web sitesini etkilemeyecek şekilde nasıl test edebilirsiniz?

Eklentilerin test edilmesi için yerel geliştirme ortamında veya çevrimiçi bir test sitesinde (Staging Site) çalışılması önerilir. XAMPP, MAMP veya Local by Flywheel gibi araçlar kullanılarak yerel bir WordPress ortamı oluşturulabilir. Test sırasında, WordPress’in doğru şekilde çalıştığından emin olunmalıdır. WP_DEBUG Sabit, olarak ayarlandı. trueSorunlar ortaya çıktığında tüm hataları ve uyarı bilgilerini gösterebilmesi için… Bu sayede sorunun hızlı bir şekilde tespit edilmesine yardımcı olur.

Eklentim farklı WordPress temalarıyla nasıl uyumlu çalışır?

Eklentilerin çeşitli temalarla uyumlu olmasını sağlamak için, tema şablon dosyalarını doğrudan değiştirmekten kaçınılmalıdır. Bunun yerine, WordPress’in hook’ları (bağlantı noktaları) kullanılmalıdır. wp_head, wp_footer, the_contentİşlevler veya içerik eklemek için bu araçlar kullanılır. HTML oluşturulurken, eklentinin kendisine ait ve benzersiz bir önek içeren CSS sınıf adları kullanılmalıdır. Ayrıca, tema stilleriyle olası çakışmaları en aza indirmek için stil şemaları mümkün olduğunca iyi bir şekilde paketlenmelidir.

Geliştirme işlemi tamamlandıktan sonra, eklentimi resmi kataloga nasıl gönderebilirim?

Eklentiyi WordPress.org’un resmi kataloğuna göndermek için öncelikle WordPress.org’da bir hesap oluşturmanız ve eklentiyi buraya yüklemeniz gerekmektedir. Kodunuzun GPLv2 veya daha yeni bir lisansın gerekliliklerini karşılaması gerekmektedir. Gönderim süreci, kod incelemesini içerir; bu inceleme sırasında kötü amaçlı kodların bulunup bulunmadığı, temel güvenlik kurallarına ve kod standartlarına uyulup uyulmadığı kontrol edilir. Ayrıca, eklenti için açıklayıcı belgeler, ekran görüntüleri ve çeviri dosyaları da sağlamanız gerekmektedir.