WordPress’in geliştirme temeli, geliştiricilere çekirdek kodu değiştirmeden web sitesi işlevlerini genişletme imkanı sunan güçlü eklenti yapısına dayanmaktadır. Bir eklenti, sayfanın alt kısmına bir satır metin eklemek kadar basit olabileceği gibi, tam bir e-ticaret sistemi oluşturacak kadar karmaşık da olabilir. Bu rehber, ilk eklentinizi oluşturma sürecinin tamamında size yol gösterecek; eklentilerin temel yapısını, güvenlik kurallarını, WordPress çekirdeğiyle olan etkileşim şeklini ve nasıl paketleneceğini ve dağıtılacağını anlamanıza yardımcı olacaktır. Pratik yaparak, dünyanın en popüler içerik yönetim sistemi olan WordPress’e katkıda bulunmak için gereken temel becerileri öğreneceksiniz.
Hazırlık İşlemleri ve Geliştirme Ortamı
İlk satır kodu yazmadan önce, profesyonel bir yerel geliştirme ortamı oluşturmak çok önemlidir. Bu, geliştirme sürecinizin verimli olmasını ve çevrimiçi web sitesini etkilememesini sağlar.
Yerel sunucu ortamı kurmak
Entegre yerel sunucu yazılım paketlerinin kullanılması önerilir; örneğin Local by Flywheel, XAMPP veya MAMP. Bu araçlar Apache/Nginx, PHP ve MySQL’i tek bir tıklamayla kurar ve WordPress’in çalışma gereksinimlerine mükemmel bir şekilde uyum sağlar. 2026 yılı için WordPress’in önerilen yapılandırmasına uyum sağlamak adına, ortamınızın PHP 7.4 veya daha yüksek bir sürüm ve MySQL 5.6 veya daha yüksek bir sürümde çalıştığından emin olun.
Tavsiye edilen okuma WordPress eklenti geliştirmeye başlama kılavuzu: İlk işlevsel uzantınızı sıfırdan oluşturun.。
Temel bir eklenti (plugin) dosyası oluşturun.
Her WordPress eklentisinin en az bir ana PHP dosyasına ihtiyacı vardır. Öncelikle, yerel WordPress kurulum dizininizde…wp-content/pluginsKlasörün içinde, yeni bir klasör oluşturun. Klasör adı kısa, küçük harfler ve tireler kullanılarak belirlenmelidir; örneğin:my-first-pluginBu klasör içinde, klasörün adıyla aynı adı taşıyan bir PHP dosyası oluşturun.my-first-plugin.phpBu dosya, eklentinin giriş noktası olacaktır.
İlk eklenti yapınızı oluşturun.
Standart bir eklentinin sadece işlevlere sahip olması değil, aynı zamanda WordPress’in tanıyıp yönetebileceği meta bilgileri de içermesi gerekir. Bu, eklenti geliştirmenin temel taşıdır.
Eklenti başlık açıklamasını ekleyin.
Eklentinin ana dosyasının en üst kısmına, belirli bir PHP yorum bloğu eklemelisiniz; yani “eklenti başlık bilgileri”. WordPress, bu bilgileri okuyarak eklentiyi yönetim panelindeki eklenti listesinde gösterir. En temel bir başlık örneği aşağıdaki gibidir:
<?php
/**
* Plugin Name: 我的第一个插件
* Plugin URI: https://example.com/my-first-plugin
* Description: 这是一个用于学习的示例插件,它在文章页脚添加自定义文本。
* Version: 1.0.0
* Author: 你的名字
* Author URI: https://example.com
* License: GPL v2 or later
* Text Domain: my-first-plugin
*/ Plugin NameBu, zorunlu olarak doldurulması gereken tek alandır; diğer alanlar isteğe bağlı olmakla birlikte, eklentinin profesyonelliğini artırabilir.Text DomainUluslararası çeviriler için kullanılır ve genellikle eklenti klasör adıyla aynıdır.
Temel bir işlev fonksiyonu uygulayın.
Hadi klasik bir örnek gerçekleştirelim: Her makalenin sonuna otomatik olarak bir telif hakkı bildirimi ekleyelim. Bunun için bir PHP fonksiyonu yazmamız ve bunu WordPress’in filtrelerine bağlamamız gerekecek.
Öncelikle, ana dosyada işlevsel fonksiyonları tanımlayın:
Tavsiye edilen okuma WordPress Eklenti Geliştirme Başlangıç Kılavuzu。
function myfp_add_footer_text( $content ) {
// 仅在主循环的单篇文章页面添加
if ( is_single() && in_the_loop() && is_main_query() ) {
$footer_text = '<p><em>Bu makale ilk olarak benim blogumda yayımlandı; yeniden yayımlanırken kaynağın belirtilmesi rica olunur.</em></p>';
$content .= $footer_text;
}
return $content;
} İşlevi WordPress çekirdeğine bağlayın.
Bir fonksiyon tanımladıktan sonra, WordPress’e bunun ne zaman ve nerede çalıştırılacağını söylemeniz gerekir. Bu, belirli koşulların sağlanmasıyla gerçekleşir.add_filterBu fonksiyon, belirtilen şekilde gerçekleştirilmiştir. Yukarıdaki fonksiyon tanımının ardından, aşağıdaki kodu ekleyin:
add_filter( 'the_content', 'myfp_add_footer_text' ); Bu kod, sizin…myfp_add_footer_textFonksiyon monte edildi.the_contentBu filtre üzerinde; WordPress bir makale içeriğini çıkarmaya hazırlandığında, önce sizin fonksiyonunuz tarafından işlenir. Şimdi, yerel WordPress arayüzündeki “Eklentiler” sayfasında “İlk Eklentim”i etkinleştirebilir ve herhangi bir makaleye bakabilirsiniz; özelleştirilmiş metnin alt kısımda görünmesi gerekir.
Eklentilerin Güvenliği ve En İyi Uygulamaları Üzerine Derinlemesine Bilgi
Bir özelliğin gerçekleştirilmesi sadece ilk adımdır; kodun güvenli, verimli ve kolayca sürdürülebilir olmasını sağlamak, profesyonel bir geliştiricinin işaretidir.
Kodu kapsamlamak için sınıflar kullanın.
İşlevlerin artmasıyla birlikte, tüm fonksiyonları global ad alanında tutmak çatışmalara neden olabilir. PHP sınıflarını kullanarak bunları kapsüllemek daha iyi bir seçenektir. Yukarıdaki örneği yeniden yapılandırmak için şu adımları izleyebilirsiniz:
class My_First_Plugin {
public function __construct() {
// 在构造函数中挂载钩子
add_action( 'init', array( $this, 'load_textdomain' ) );
add_filter( 'the_content', array( $this, 'add_footer_text' ) );
}
public function load_textdomain() {
load_plugin_textdomain( 'my-first-plugin', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}
public function add_footer_text( $content ) {
if ( is_single() && in_the_loop() && is_main_query() ) {
$footer_text = '<p><em>' . esc_html__( '本文首发于我的博客,转载请注明出处。', 'my-first-plugin' ) . '</em></p>';
$content .= $footer_text;
}
return $content;
}
}
// 初始化插件类
new My_First_Plugin(); Veritabanıyla güvenli bir şekilde etkileşim kurmak
Eğer eklentiniz ayarları saklamaya ihtiyaç duyuyorsa, WordPress tarafından sağlanan özellikleri kullanın.Options APISQL sorgularını asla doğrudan çalıştırmayın. Bunun yerine, uygun araçları ve yöntemleri kullanın.add_option、get_option和update_optionFonksiyonlar, verilere güvenli bir şekilde erişmeyi sağlar. Örneğin, sayfa altı metninin yapılandırılabilmesini sağlar:
// 保存设置
update_option( 'myfp_footer_text', sanitize_text_field( $_POST['footer_text'] ) );
// 获取设置
$saved_text = get_option( 'myfp_footer_text', '默认文本' ); Yönetim ayarları sayfasını oluşturun.
Eklentilere grafiksel bir ayar arayüzü sağlamak, kullanıcı deneyimini büyük ölçüde artırabilir. Bunun için WordPress’ün sunduğu araçları kullanabilirsiniz.Settings APIStandartlaştırılmış bir seçenek sayfası oluşturmak için birkaç kritik adım atılmalıdır:add_menu_page或add_submenu_pageFonksiyon Kayıt Sayfası, Kullanımıregister_settingKayıt ayarları ve kullanımıadd_settings_section和add_settings_fieldBir form alanı oluşturmak için…Settings APIGüvenlik doğrulaması (Nonce kontrolü, yetki doğrulaması) ve alanların kaydedilmesi otomatik olarak gerçekleştirilecektir.
Tavsiye edilen okuma WordPress eklenti geliştirme eksiksiz rehberi: sıfırdan yayınlanmaya kadar.。
Eklenti Yayını ve Bakımı
Geliştirme işlemi tamamlandıktan ve ürün yeterince test edildikten sonra, eserlerinizi paylaşmayı düşünebilirsiniz.
Nihai testleri ve hataları gidermeyi gerçekleştirin.
Yerel ve geçici sunucularda kapsamlı testler yapılmalıdır. Bu testler şunları içermelidir: Farklı PHP sürümlerinde testler yapmak, popüler temalar ve diğer eklentilerle uyumluluğu kontrol etmek, tüm kullanıcı girdilerinin doğrulanmasını (Validation) ve temizlenmesini (Sanitization) sağlamak ve WordPress’in özelliklerinden yararlanmak.WP_DEBUGMod kontrolü sırasında herhangi bir uyarı veya hata bildirimi olup olmadığını kontrol edin.
Eklentileri paketleyin ve dağıtın.
Temiz bir ZIP sıkıştırma paketi oluşturun; bu paket yalnızca eklenti klasörünü ve tüm gerekli dosyalarını (ana PHP dosyasını, ...) içermelidir.README.txtÇeviri dosyaları, varlık dosyaları vb. dahil edin. Sürüm kontrol sistemi klasörlerini (örneğin) içermeyin..gitBu ZIP paketini, resmi WordPress eklenti dizinine gönderebilirsiniz; bunun için sıkı inceleme kurallarına uymanız gerekmektedir. Ayrıca, bu paketi kendi web sitenizde veya üçüncü parti pazarlarda da dağıtabilirsiniz.
Planlama sürümü güncellemesi ve destek.
WordPress çekirdeğinin güncellenmesiyle birlikte, eklentilerinizin de bakıma ihtiyacı vardır. Sürüm numarası yönetimi standartları oluşturun (örneğin semantik sürüm numaralandırma sistemi kullanın) ve her sürümde yapılan değişiklikleri eklentinin baş kısmında ve güncelleme kayıtlarında açık bir şekilde belirtin. Kullanıcıların destek forumlarındaki geri bildirimlerine aktif olarak yanıt verin ve kodu sürekli iyileştirin; bu, eklentinizin uzun vadeli başarısı için çok önemlidir.
Özetle.
WordPress eklenti geliştirme, yaratıcılığı işlevlere dönüştüren bir uygulama sürecidir. Ortam kurmaktan ve temel dosya yapılarını oluşturmaktan başlayarak, çekirdek işlevlerin gerçekleştirilmesine, nesne yönelimli ve güvenli programlamanın en iyi uygulamalarının kullanılmasına doğru ilerledik ve son olarak da yayınlama ve bakım adımlarını inceledik. Önemli olan, WordPress’in sunduğu çeşitli araçları anlamak ve bunları ustaca kullanabilmektir.Hook(Kancalar, Action ve Filter dahil) ileAPI(Örneğin Options API, Settings API gibi) Bunlar, WordPress dünyasıyla etkileşim kurmanız için güvenli bir köprüdür. Unutmayın ki, iyi bir eklenti sadece çalışabilen bir şey değil; aynı zamanda güvenli, verimli ve başkaları tarafından kolayca kullanılabilir olmalıdır. Şimdi, ilk eklentinizi oluşturmak için temel bilgileri öğrendiniz; bundan sonra yapmanız gereken, sürekli pratik yapmak ve çekirdek kodları incelemek suretiyle becerilerinizi geliştirmektir.
Sıkça Sorulan Sorular.
Eklenti geliştirmek için PHP'ye hakim olmak gerekir mi?
Evet, sağlam PHP bilgisi, WordPress eklenti geliştirmenin temelidir. PHP dilbilgisini, fonksiyonlarını, sınıflarını, ad alanlarını (namespace’leri) ve veritabanlarıyla güvenli bir şekilde nasıl etkileşim kurulacağını anlamanız gerekir. Aynı zamanda, HTML, CSS ve temel JavaScript bilgisine de sahip olmanız oldukça faydalı olacaktır.
Neden eklentim aktive edildikten sonra web sitesi beyaz ekran gösteriyor?
“Beyaz ekran ve donma” durumu genellikle PHP’nin ölümcül hatalarından kaynaklanır. Lütfen yerel geliştirme ortamınızın bu özelliklerin etkin olduğundan emin olun.WP_DEBUG“Mod” (Mod). Bunu web sitesinde kullanabilirsiniz.wp-config.phpDosyaya aşağıdaki kodu ekleyerek hata ayıklama modunu etkinleştirin:define( 'WP_DEBUG', true );Bu, belirli hata bilgilerini ekranda gösterecek ve sorunu bulmanıza yardımcı olacaktır.
Eklentilerin diğer eklentilerle oluşturabileceği çatışmaları nasıl ele alabilirim?
Çatışmalar genellikle fonksiyon veya sınıf isimlerinin çakışmasından, veya aynı “Hook” (düğüm) için önceliklerin yanlış işlenmesinden kaynaklanır. Tüm fonksiyonlarınıza ve sınıflarınıza benzersiz bir önek eklemek (örneğin, bir eklentinin kısaltmasını kullanarak), isim çatışmalarını önlemenin en iyi yoludur. Hook’lar için ise…add_filter或add_actionÜçüncü parametre$priorityYürütme sırasını ayarlamak için gerekirse kullanın.remove_actionÇakışan kancaları dikkatlice çıkarın.
Eklentime nasıl çok dil desteği eklerim?
WordPress’in uluslararasılaştırma (i18n) ve yerelleştirme (l10n) özelliklerinden yararlanmanız gerekiyor. Kodunuzda bunları şu şekilde kullanabilirsiniz:__()、_e()Tüm çevrilmeye ihtiyaç duyan metin dizelerini çeviri fonksiyonları ile sarın ve bunlar için eklentinizin metin alanını (Text Domain) belirtin. Daha sonra, Poedit gibi araçlar kullanarak çeviri işlemlerini gerçekleştirin..potŞablon dosyalarını kullanarak, çevirmenlerin farklı dillerde çeviriler yapmalarını sağlayın..mo和.poDosya, eklentinin içinde saklanmaktadır./languages/Katalogun içinde.
Ticari eklentileri WordPress resmi kataloğuna gönderebilir miyim?
Evet, WordPress’in resmi eklenti kataloğu, özgür yazılım felsefesine (GPL uyumlu lisanslara) uygun ticari eklentileri kabul eder. Ancak “ticari” terimi, eklentinin kendisinin ücretli bir sürümüne sahip olması veya ücretli destek sunması anlamına gelir; resmi kataloğa gönderilen sürümün ise tüm özellikleriyle birlikte ücretsiz olarak kullanılabilir olması gerekir. Ücretli ek özellikler, destek veya yükseltmeler genellikle geliştiricinin kendi web sitesi üzerinden sağlanır. Göndermeden önce, lütfen resmi eklenti gönderim kılavuzlarını ve lisans gereksinimlerini dikkatlice inceleyin.
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.
- Mükemmel bir WordPress temasını nasıl seçer ve özelleştirirsiniz?
- WordPress Eklenti Geliştirme Kılavuzu: Sıfırdan Başlayarak İlk Özel Eklentinizi Oluşturun
- WordPress Eklenti Geliştiricisi Olmak: Sıfırdan Bir’e Kapsamlı Rehber
- Sıfırdan bire: WordPress'i kullanarak profesyonel bir web sitesi oluşturmanın eksiksiz rehberi ve uygulamalı ipuçları.
- WordPress Eklenti Geliştirme Kılavuzu: Başlangıçtan Uzmanlığa Kadar Profesyonel Eklentiler Oluşturma