WordPress eklenti geliştirme yolculuğuna çıkmak, dünya çapındaki milyonlarca web sitesine yeni özellikler ekleyebilme, işlemleri otomatikleştirebilme ve benzersiz değerler yaratabilme yeteneğine sahip olduğunuz anlamına gelir. İster belirli iş ihtiyaçlarını karşılamak için olsun, ister toplulukla paylaşmak için olsun, temel mimarisini ve prensiplerini anlamak başarının ilk adımıdır. Eklentiler, esasen PHP kodlarının bir koleksiyonudur ve WordPress’in kurallarına ve API’sine uyar; platformun davranışlarını değiştirmek veya geliştirmek için “Hook’lar” (Kancalar) ve “Filter’ler” (Filtreler) aracılığıyla çekirdek sisteme sorunsuz bir şekilde entegre olurlar.
Geliştirme ortamı kurma ve temel eklentiler oluşturma
İlk satır kodu yazmaya başlamadan önce, izole ve profesyonel bir geliştirme ortamı çok önemlidir. Local by Flywheel, DevKinsta veya MAMP gibi yerel geliştirme araçlarını kullanmanız önerilir; bu araçlar, PHP, MySQL ve WordPress içeren bir ortamı hızlı bir şekilde kurmanıza olanak tanır.
İlk eklenti dosyasını oluşturun.
Her şey bir PHP dosyasıyla başladı. WordPress’te… wp-content/plugins Katalogda, yeni eklentiniz için yeni bir klasör oluşturun. Örneğin, “myNewPlugin” adında bir klasör oluşturalım. my-first-plugin Belirtilen klasöre gidin. Daha sonra, bu klasör içinde genellikle klasörün adıyla aynı olan ana dosyayı oluşturun.my-first-plugin.php。
Tavsiye edilen okuma Sıfırdan Bir: WordPress Eklenti Geliştirme Kapsamlı Rehberi ve Pratik Eğitim Kursu。
Bu ana dosyanın başlık kısmındaki yorumlar, eklentinin “kimlik kartı” niteliğindedir ve WordPress’e eklentiyi tanımak için gereken tüm meta bilgileri sağlar. İşte temel yapı:
<?php
/**
* Plugin Name: 我的第一个插件
* Plugin URI: https://example.com/my-first-plugin
* Description: 这是一个用于学习 WordPress 插件开发的示例插件。
* Version: 1.0.0
* Author: Your Name
* Author URI: https://example.com
* License: GPL v2 or later
* Text Domain: my-first-plugin
* Domain Path: /languages
*/ Dosyayı kaydettikten sonra, WordPress arayüzüne giriş yapın ve “Eklentiler” sayfasına gidin. Orada “İlk Eklentim” adında yeni bir eklenti görmelisiniz. Şu an herhangi bir özelliği olmasa da, onu etkinleştirebilir veya devre dışı bırakabilirsiniz. Bu, eklenti çerçevesini başarıyla oluşturduğunuzun bir göstergesidir.
Önemli kavramları anlayın: Eylem kancaları (Action Hooks) ve filtreler (Filters)
WordPress eklenti geliştirmenin temeli, “hook” (kancalar) mekanizmasıdır. Hook’lar, kodunuzun belirli zaman noktalarında WordPress’in temel işlemlerine dahil olmasına ve kendi mantığınızı çalıştırmasına olanak tanır.
Action Hook
Action Hook’lar, belirli olaylar meydana geldiğinde kodu çalıştırır; örneğin bir makale yayınlamak, bir kullanıcı giriş yapmak veya bir şablon yüklemek gibi. Bunları kullanarak, bu olaylar gerçekleştiğinde istediğiniz işlemleri otomatik olarak gerçekleştirebilirsiniz. add_action() Fonksiyon, geri çağırma fonksiyonunuzu o “hook”a (düğüme) bağlar.
Örneğin, yönetim arayüzünün makale düzenleme sayfasının üst kısmında özel bir mesaj göstermek istiyoruz. Bunun için şu yöntemi kullanabiliriz: edit_form_top Bu eylem hook’u.
Tavsiye edilen okuma Nasıl Yüksek Kaliteli WordPress Eklentileri Geliştirilir: Başlangıçtan Uzmanlığa Kadar Rehber。
// 在文章编辑页面顶部添加自定义提示
add_action( 'edit_form_top', 'myplugin_edit_form_top_message' );
function myplugin_edit_form_top_message( $post ) {
if ( 'post' === $post->post_type ) {
echo '<div class="notice notice-info"><p>Bu, ‘İlk Eklentim’ adlı kaynaktan gelen özelleştirilmiş bir uyarıdır!</p></div>';
}
} Filtre Hook’u
Filtre kancaları (Filter Hooks), 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), değerlerini değiştirmenize olanak tanır. add_filter() İşlev.
Klasik bir örnek, bir makalenin içeriğinin son kısmındaki metinleri değiştirmektir. Bunu yapmak için şu yöntemi kullanabiliriz: the_content Filtreler.
// 在文章内容末尾附加版权信息
add_filter( 'the_content', 'myplugin_add_copyright_to_content' );
function myplugin_add_copyright_to_content( $content ) {
if ( is_single() ) {
$content .= '<p><small>© 2026 Tüm hakları saklıdır. Bu metin, benim eklentim tarafından optimize edilmiştir.</small></p>';
}
return $content;
} Bir eklenti yönetim sayfası ve seçenekleri oluşturun.
Kullanıcıların eklentinizi yapılandırabilmesi için onlara bir ayar sayfası oluşturmanız gerekmektedir. WordPress, yönetim menüsüne sayfalar eklemek ve seçenekleri işlemek için zengin bir API sunar.
Yönetim menüsü ekleyin.
Kullanın. add_menu_page() 或 add_options_page() Bir fonksiyon, eklentinize üst düzey veya alt düzey bir menü ekleyebilir. Genellikle, basit eklentiler “Ayarlar” menüsüne bir alt sayfa olarak eklenir.
Öncelikle, yöneticinin sistemi başlattığı sırada menüyü kaydetmek için bir fonksiyonu tetiklememiz gerekiyor.
// 在管理后台添加设置菜单
add_action( 'admin_menu', 'myplugin_add_admin_menu' );
function myplugin_add_admin_menu() {
add_options_page(
'我的插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 所需权限
'myplugin-settings', // 菜单别名 (slug)
'myplugin_render_settings_page' // 用于输出页面内容的回调函数
);
} Görüntüleme Ayarları Sayfası ve Kaydetme Seçenekleri
Sonraki adımda, bir tanım yapmamız gerekir. myplugin_render_settings_page Bu fonksiyon, sayfanın HTML formunu oluşturmak ve form verilerinin kaydedilmesini işlemek için kullanılır. Seçenekleri güvenli bir şekilde kaydetmek, doğrulamak ve yönetmek için WordPress Ayarlar API’sini (Settings API) kullanacağız.
Tavsiye edilen okuma Nasıl Yüksek Kaliteli WordPress Eklentileri Geliştirilir: Başlangıçtan Uzmanlığa。
// 渲染设置页面
function myplugin_render_settings_page() {
?>
<div class="wrap">
<h1>Eklenti ayarlarım.</h1>
<form action="/tr/options.php/" method="post" data-trp-original-action="options.php">
<?php
// 输出必要的安全字段和隐藏字段
settings_fields( 'myplugin_settings_group' );
// 输出设置章节和字段
do_settings_sections( 'myplugin-settings' );
// 输出提交按钮
submit_button();
?>
<input type="hidden" name="trp-form-language" value="tr"/></form>
</div>
<?php
}
// 初始化设置
add_action( 'admin_init', 'myplugin_settings_init' );
function myplugin_settings_init() {
// 注册一个设置组和字段
register_setting(
'myplugin_settings_group', // 设置组名
'myplugin_option_message' // 选项名,将保存在 wp_options 表中
);
// 添加一个设置章节
add_settings_section(
'myplugin_section_basic',
'基础设置',
null, // 章节描述回调函数,可以为空
'myplugin-settings' // 页面别名
);
// 向章节添加一个字段
add_settings_field(
'myplugin_field_message',
'自定义消息',
'myplugin_field_message_render', // 渲染字段 HTML 的函数
'myplugin-settings',
'myplugin_section_basic'
);
}
// 渲染 ‘自定义消息’ 字段
function myplugin_field_message_render() {
$option = get_option( 'myplugin_option_message' );
?>
<input type='text' name='myplugin_option_message' value='<?php echo esc_attr( $option ); ?>'>
<p class="description">Buraya girilen mesajlar ön tarafta (yani kullanıcı arayüzünde) görüntülenecektir.</p>
<?php
} Şimdi, “Ayarlar” -> “Benim Eklentilerim” bölümünde metin giriş alanı içeren bir ayar sayfası görebilir ve mesajları kaydedebilirsiniz. Bu özelliği kullanmak için, ön uçta (frontend) ilgili ayarları yapmanız gerekmektedir. get_option( 'myplugin_option_message' ) Değerini alın.
Özel kısa kodlar oluşturmak
Kısa kodlar (Shortcodes), kullanıcıların basit parantez etiketleri kullanarak belirli işlemleri gerçekleştirmesine olanak tanır. [my_shortcode]Makalelerde, sayfalarda veya araççıklarda dinamik içerik eklemek, eklentilerin karmaşık işlevleri kullanıcı dostu bir şekilde sunmasının bir yoludur.
Kısa kodu kaydedin.
Kullanın. add_shortcode() Kısa kodunuzu kaydetmek için bir fonksiyon kullanın. Bu fonksiyon iki parametre alır: kısa kod etiketi ve işlem fonksiyonu.
Örneğin, kısa kodlar oluşturabiliriz. [display_greeting]Zamana göre farklı selamlama mesajları gösterebilir ve isteğe bağlı olarak bir girişi de kabul edebilir. name Parametreler.
// 注册自定义短代码
add_shortcode( 'display_greeting', 'myplugin_render_greeting_shortcode' );
function myplugin_render_greeting_shortcode( $atts ) {
// 设置默认属性值
$attributes = shortcode_atts(
array(
'name' => '访客',
),
$atts,
'display_greeting'
);
// 获取当前小时
$hour = date( 'H' );
$greeting = '';
if ( $hour < 12 ) {
$greeting = '早上好';
} elseif ( $hour < 18 ) {
$greeting = '下午好';
} else {
$greeting = '晚上好';
}
// 构建输出
$output = sprintf(
'<div class="myplugin-greeting"><p><strong>%s, %s!</strong> Bu siteye hoş geldiniz.</p></div>',
esc_html( $greeting ),
esc_html( $attributes['name'] )
);
return $output;
} Kullanıcılar artık düzenleyicide metin girebiliyorlar. [display_greeting name="张三"]Sayfa render edilirken, bu bölge kişiselleştirilmiş bir selamla değiştirilecektir.
Özetle.
WordPress eklenti geliştirme, güçlü ve esnek bir süreçtir; özü, hook sistemini ve çekirdek API’yi anlamak ve bunları etkili bir şekilde kullanmaktadır. Standart bir başlık içeren bir PHP dosyası oluşturarak başlayın, işlevleri genişletmek için eylem (action) ve filtre (filter) hook’larını kullanın, ayar API’sini kullanarak kullanıcı dostu bir yapılandırma arayüzü oluşturun ve kullanışlı kısa kodlar sağlayın. Böylece temel bir yapıya ve yaygın olarak kullanılan işlev modüllerine sahip bir eklenti oluşturmuş olursunuz. Bu temel modülleri birleştirin, geliştirin ve WordPress kodlama standartlarına ile güvenlik en iyi uygulamalarına uygun hareket edin; böylece çeşitli ihtiyaçları karşılayan güçlü eklentiler geliştirebilirsiniz.
Sıkça Sorulan Sorular.
WordPress eklentisi geliştirmek için hangi temel bilgilere ihtiyaç vardır?
PHP programlama diline dair temel bilgilere sahip olmanız gerekmektedir; çünkü eklentiler esas olarak PHP ile yazılmıştır. Ayrıca, HTML, CSS ve JavaScript konularında temel bir bilgiye sahip olmak, kullanıcı arayüzleri ve etkileşim özelliklerinin oluşturulmasına yardımcı olacaktır. En önemlisi, WordPress’in temel kavramlarına aşina olmanızdır; örneğin Hook’lar (Eklentiler), The Loop (Döngü) ve şablon hiyerarşisi gibi.
Geliştirilmekte olan bir WordPress eklentisini nasıl hata ayıklarım?
WordPress’ın hata ayıklama modunu yerel geliştirme ortamınızda açmanız önerilir. wp-config.php Dosyada, WP_DEBUG Sabit, olarak ayarlandı. trueAyrıca, veritabanı sorgularını, hook işlemlerini ve betik yüklemelerini takip etmek için Query Monitor gibi sorgu izleme eklentileri de kurabilirsiniz. Bu, performans optimizasyonu ve mantık kontrolü açısından çok faydalıdır.
Eklentim uluslararası destek (internationalization) nasıl sağlanır?
WordPress, uluslararasılaştırma (i18n) işlemleri için GNU gettext framework’ünü kullanır. Bunu, eklentinizin ana dosyasının baş kısmında (header bölümünde) belirleyerek yapabilirsiniz. Text Domain 和 Domain PathKodda kullanmak için… __()、_e() `wait` gibi fonksiyonlar, çevrilmeye ihtiyaç duyan tüm metinleri kapsar. Daha sonra, Poedit gibi araçlar kullanılarak çeviri işlemi gerçekleştirilir. .pot Şablon dosyası, çevirmenlerin kullanımı için hazırlanmıştır. .po 和 .mo Dosya.
WordPress resmi eklenti dizinine eklentimi nasıl güvenli bir şekilde gönderebilirim?
Öncelikle, WordPress.org üzerinde bir hesap oluşturmanız ve eklentiyi buraya göndermeniz gerekiyor. Kodunuzun WordPress kodlama standartlarına uygun olması gerekmektedir ve herhangi bir şifreleme veya karıştırılmış kod içermemesi gerekmektedir. Eklenti dizini, ana dosya, ekran görüntüleri ve README dosyası belirli bir yapıya uymalıdır. İnceleme ekibi, kod kalitesini, güvenliğini ve lisans anlaşmasını (GPL ile uyumlu olması gerekmektedir) kontrol edecektir.
Bir sonraki adım, bundan sonra ne yapmalıyım?
Daha fazla okuma ve pratik bilgiler.
Aşağıdaki içerikler bu makalenin konusuyla ilgilidir ve daha fazla okumak için uygundur. Öncelikle mevcut sorununuza en yakın makaleden başlayın, sonra çevresel konulara doğru ilerleyin, genellikle daha iyi sonuçlar alırsınız.
- 2026'da web sitesi performansını ve güvenliğini artırmak için kurulması gereken en iyi 10 WordPress eklentisi önerisi.
- WooCommerce’u Derinlemesine Analiz Etmek: Sıfırdan Başlayarak Güçlü Bir WordPress E-Ticaret Sitesi Oluşturmak
- 2026 Yılında Web Sitelerinin Performansını ve Güvenliğini Artırmak İçin En İyi 10 WordPress Eklentisi
- 10 Pratik WordPress Eklentisi Tavsiyesi: Web Sitesi Performansını ve Güvenliğini Büyük Ölçüde Artırın
- WordPress web sitelerinin performansını ve güvenliğini artırmak için 10 önerilen eklenti: