WordPress Eklenti Geliştirme İçin Temel Ortam ve Hazırlıklar
Resmi olarak kod yazmaya başlamadan önce, verimli bir yerel geliştirme ortamı oluşturmak çok önemlidir. Standart bir geliştirme ortamı genellikle yerel sunucu yazılımları (örneğin XAMPP, Local by Flywheel veya Docker konteynerleri), bir kod editörü (VS Code veya PHPStorm önerilir) ve test amacıyla kullanılacak bir WordPress kurulumunu içerir. Lütfen PHP sürümünüzün WordPress’in resmi gereksinimlerine uygun olduğundan emin olun ve hata raporlama özelliğinin etkinleştirildiğinden emin olun; bu, geliştirme sürecinin başlarında sorunları hızlı bir şekilde tespit etmenize yardımcı olacaktır.
Sonrasında, WordPress eklentilerinin temel yapısını anlamanız gerekiyor. En basit işlevi olan bir eklenti bile bir ana dosya içermelidir. Bu ana dosyanın adı özelleştirilebilir; örneğin…my-first-plugin.phpAncak, belgenin baş kısmında belirli eklenti bilgilerini içeren açıklamaların bulunması gerekmektedir; bu bilgiler WordPress’in eklentileri tanımasını ve yüklemesini sağlar.
İlk WordPress eklentinizi oluşturun.
Plugin başlık bilgilerini yazın.
Bir eklentinin ana dosyası, standart PHP dokümantasyon bloğu yorumları ile başlamalıdır. Bu yorum bloğu, WordPress’e eklentinin adı, açıklaması, sürümü, yazarı gibi bilgileri verir. Ana dosyanızın en üst kısmına, örneğin…my-first-plugin.phpAşağıdaki kodu girin:
Tavsiye edilen okuma WordPress eklenti geliştirmeye başlama kılavuzu: ilk işlevsel modülünüzü sıfırdan bir'e oluşturun.。
<?php
/**
* Plugin Name: 我的第一个插件
* Plugin URI: https://www.yourwebsite.com/my-first-plugin/
* Description: 这是一个用于学习插件开发的简单示例插件。
* Version: 1.0.0
* Author: 你的名字
* Author URI: https://www.yourwebsite.com/
* License: GPL v2 or later
* Text Domain: my-first-plugin
*/ Bu kodu içeren dosyayı WordPress'in/wp-content/plugins/Dizinin ardından, arka plandaki “Eklentiler” sayfasında bu eklentiyi görebilir ve etkinleştirebilirsiniz.
Basit bir kısa kod işlevi gerçekleştirin.
Kısa kodlar, kullanıcıların makalelerde veya sayfalarda eklenti işlevlerini kolayca çağırabilmesi için güçlü bir yöntemdir. Sayfada bir selam mesajı göstermek için basit bir kısa kod oluşturalım. Ana dosyanıza aşağıdaki kodu ekleyin:
// 注册短代码
function my_first_plugin_shortcode() {
return '<p>Merhaba, ilk eklentimden gelen selamlar!</p>'add_shortcode( 'my_greeting', 'my_first_plugin_shortcode' ); Dosyayı kaydettikten sonra, WordPress editöründe makalelerinizde veya sayfalarınızda bunu kullanabilirsiniz.[my_greeting]Lütfen bu selamı çıktı olarak verin.
Bir yönetim sayfası menüsü ekleyin.
Eklentinin arka planda yapılandırılabilmesi için, WordPress yönetim panelinin kenar çubuğuna bir menü öğesi eklememiz gerekiyor. Bu, WordPress’in menü oluşturma fonksiyonlarını kullanmayı gerektiriyor. Kullanacağımız yöntem şu şekilde olacak:add_menu_page()Bu işlevi gerçekleştirmek için bir fonksiyon kullanılır.
// 添加管理菜单
function my_first_plugin_add_menu_page() {
add_menu_page(
'我的插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 权限能力
'my-first-plugin-settings', // 菜单slug
'my_first_plugin_settings_page', // 回调函数,用于输出页面内容
'dashicons-admin-generic', // 图标(可选)
20 // 菜单位置(可选)
);
}
add_action( 'admin_menu', 'my_first_plugin_add_menu_page' );
// 定义设置页面的内容
function my_first_plugin_settings_page() {
?>
<div class="wrap">
<h1>Benim eklenti ayarları sayfası</h1>
<p>Eklentinin ayarlar sayfasına hoş geldiniz. Buraya gelecekte çeşitli ayar seçenekleri eklenebilecek.</p>
</div>
<?php
} Eklentiyi aktive ettikten sonra, WordPress arayüzünün sol tarafında “Eklentilerim” menü öğesini göreceksiniz. Buna tıklayarak oluşturduğunuz boş ayar sayfasına girebilirsiniz. Bu, daha sonra gerçek ayar seçeneklerini (örneğin veritabanı ayarları API’si gibi) eklemeniz için temel oluşturur.
Tavsiye edilen okuma WordPress Temaları ve Eklentilerinin Geliştirilmesine Derinlemesine Bir Bakış: Başlangıçtan Uygulamaya。
Eklenti Geliştirmenin Temel Kavramları ve Güvenlik Uygulamaları
WordPress’teki “kancalar” (hooks) mekanizmasını anlamak, eklenti geliştirmenin temelidir. Kancalar iki türe ayrılır: Eylem kancaları (action hooks) ve olay kancaları (event hooks).add_action()Ve filtre kancaları.add_filter()Eylem kancaları, belirli zaman noktalarında (örneğin makale yayınlandığında, sayfa yüklendiğinde) özelleştirilmiş kodları çalıştırmanıza olanak tanır. Filtre kancaları ise WordPress veya diğer eklentiler tarafından oluşturulan herhangi bir veriyi değiştirmenize ve ardından bu veriyi çıktı olarak almanıza veya kullanmanıza imkan verir.
Güvenlik, eklenti geliştirmenin can damarındır. Tüm kullanıcı girdileri güvenilmez olarak kabul edilmelidir. WordPress tarafından sağlanan zengin güvenlik fonksiyonlarını kullanarak girdilerin doğrulanması, dönüştürülmesi ve temizlenmesi şarttır.$_GET、$_POST或$_REQUESTElde edilen verileri kullanın.sanitize_text_field()、intval()Temizlik işlemleri yapılır. Sayfaya herhangi bir değişken gönderilirken, escape (kaçış) fonksiyonları kullanılmalıdır.esc_html()、esc_attr()或wp_kses_post()Veritabanı sorguları oluştururken, SQL ifadelerini asla manuel olarak birleştirmeyin; mutlaka bunun için uygun araçları kullanın.$wpdbSınıflar ve bunların…prepare()SQL enjeksiyonunu önlemek için yöntemler.
Eklentilerin uluslararasılaştırılması, yayınlanması ve bakımı
Eklentinizin tüm dünyadaki kullanıcılar tarafından kullanılabilmesi için uluslararasılaştırma (i18n) adımı kaçınılmazdır. WordPress, çok dilli destek sağlamak için GNU gettext çerçevesini kullanır. Sizin de bu çerçeveyi kullanmanız gerekmektedir.__( ‘Text’, ‘text-domain’ )和_e( ‘Text’, ‘text-domain’ )Tüm kullanıcı tarafından görülebilen metinleri kapsayacak bir dönüştürme fonksiyonu kullanın. Aynı zamanda, bu fonksiyonu eklentinin baş kısmındaki yorumlarda tanımlayın.Text DomainVe kullanın.load_plugin_textdomain()Bir fonksiyon, dil dosyalarını yüklemek için kullanılır.
Eklentinizin işlevleri tamamlanıp yeterli testlerden geçtikten sonra, onu WordPress resmi eklenti dizinine veya diğer platformlara yayınlamayı düşünebilirsiniz. Yayınlamadan önce, kodunuzun WordPress kodlama standartlarına uygun olduğundan emin olun, tüm hata ayıklama kodlarını kaldırın ve açık, anlaşılır bir kullanım kılavuzu hazırlayın.readme.txtBir eklentinin canlılığını sürdürmenin anahtarı, yayınlandıktan sonra kullanıcı geri bildirimlerine aktif olarak yanıt vermek, WordPress çekirdeğinin yeni sürümleriyle uyumlu olacak şekilde düzenli olarak güncellemeler yapmak ve ortaya çıkabilecek hataları (bug’ları) düzeltmektir.
Özetle.
WordPress eklenti geliştirme, yaratıcılığı geniş bir ekosisteme entegre etme sürecidir. Basit bir dosya oluşturarak başlayarak, kısa kodlar, menü yönetimi, hook mekanizmaları gibi temel kavramları adım adım öğrenmek ve her zaman güvenlik, uluslararasılaştırma ve kod standartlarını öncelikli tutmak, mükemmel bir eklenti geliştiricisi olmanın yoludur. Bu rehber, sıfırdan başlayarak ilerlemeniz için eksiksiz bir yol sunar; ancak gerçek ustalık, pratikte sürekli keşfetmek ve gerçek sorunları çözmekle elde edilir. Unutmayın ki, mükemmel bir eklenti sadece işlevlerin bir araya getirilmesi değil, aynı zamanda stabilite, güvenlik ve kullanıcı deneyiminin mükemmel bir kombinasyonudur.
Sıkça Sorulan Sorular.
WordPress eklentisi geliştirmek için PHP’de uzman olmak gerekir mi?
Evet, sağlam PHP bilgisi temeldir. Çünkü WordPress kendisi ve eklentileri PHP ile yazılmıştır. Eklentileri verimli ve güvenli bir şekilde geliştirebilmek için PHP’nin sözdizimini, fonksiyonlarını, nesne yönelimli programlamayı ve diğer temel kavramlarını anlamanız gerekir.
Tavsiye edilen okuma WordPress eklenti geliştirmeye başlama kılavuzu: İlk özel eklentinizi sıfırdan oluşturun.。
Geliştirdiğim WordPress eklentisini nasıl hata ayıklarım?
Öncelikle, 'den emin olun.wp-config.phpDosyada etkinleştirilmiştir.WP_DEBUG和WP_DEBUG_LOGBu, PHP hatalarını ve uyarılarını bir günlük dosyasına (log file) kaydeder. Ayrıca, bunu kullanmak mümkündür.error_log()Fonksiyon, özelleştirilmiş hata ayıklama bilgileri çıkarır. Daha karmaşık hata ayıklamaları için Xdebug veya Query Monitor gibi profesyonel eklentiler kullanılabilir.
Eklentim verileri nasıl saklamalı?
Basit ve az miktardaki yapılandırma verileri için, WordPress Options API kullanılmasını öneririz.add_option(), get_option(), update_option()Büyük ve karmaşık veriler için, özelleştirilmiş tablo yapılarına ihtiyaç duyulduğunda bunları saklamak amacıyla belirli yöntemler kullanılmalıdır.$wpdbKendi özel veri tablolarınızı oluşturmak için sınıflar kullanabilirsiniz, ancak bu kararı vermeden önce dikkatli bir şekilde düşünmelisiniz.
Eklentime nasıl ayar seçenekleri sayfası eklerim?
Kılavuzda belirtildiği gibi, kullanın.add_menu_page()或add_submenu_page()Sayfaları kaydetmek için fonksiyonlar kullanılır. Sayfa içindeki form alanları ve işlemler için WordPress Settings API’sinin kullanılması şiddetle tavsiye edilir.register_setting(), add_settings_section(), add_settings_field()Çünkü güvenlik doğrulamalarını, yetki kontrollerini ve veri depolamayı otomatik olarak gerçekleştirebilir, bu da geliştirme sürecini büyük ölçüde basitleştirir.
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.
- Önsöz: Neden WordPress ile geliştirme yapmayı seçtik?
- Neden e-ticaret çözümünüz olarak WooCommerce’u seçtiniz?
- WordPress alt teması nedir?
- WooCommerce Kapsamlı Kılavuzu: Sıfırdan Online Mağazanızı ve Satış Stratejinizi Oluşturun
- Web sitesinin performansını ve güvenliğini her yönüyle artıracak 10 önerilen WordPress eklentisi: