WordPress Eklenti Geliştirme İle İlk Adımlar
WordPress eklentileri, WordPress’in temel işlevlerini genişleten PHP betik koleksiyonlarıdır. Geliştiricilere, WordPress’in temel kodunu değiştirmeden web sitelerine yeni özellikler, araçlar eklemelerine veya mevcut davranışları değiştirmelerine olanak tanır. Basit bir “Merhaba Dünya” (Hello World) pop-up penceresinden karmaşık e-ticaret sistemlerine kadar, çeşitleri ve kapsamları neredeyse sınırsızdır. Eklenti geliştirmeyi anlamak, WordPress’in tüm potansiyelini ortaya çıkarmak için kritik öneme sahiptir; bu da bir kullanıcıdan bir yaratıcıya (creator) geçişi temsil eder.
Bir eklentinin temel yapısı, bir ana PHP dosyasından oluşur. Bu dosyada, WordPress sisteminine eklentinin adı, açıklaması, sürümü ve yazarı gibi meta bilgilerini sağlamak için standart eklenti başlık yorumları bulunmalıdır. Eklentinin kodu, WordPress tarafından sağlanan geniş kapsamlı araçlar ve kaynaklar aracılığıyla yazılır.Hook(Köprü) veAPIÇekirdek ile etkileşim kurmak, modüler mimarisinin temel taşıdır.
İlk eklentinizi oluşturun.
Temel dosya yapısını oluşturun.
Öncelikle, şunları yapman gerekiyor:wp-content/pluginsBir dizin altında yeni bir klasör oluşturun, örneğin:my-first-pluginBu klasör içinde, genellikle “mainPlugin.js” veya benzeri bir adla adlandırılan ana eklenti dosyasını oluşturun.my-first-plugin.phpMinimalize edilmiş ve etkili bir eklenti, yalnızca bu dosya ve doğru başlık (header) bilgileriyle WordPress tarafından tanınabilir.
Tavsiye edilen okuma Sıfırdan Başlayın: WordPress Eklenti Geliştirmenin Temel Adımlarını ve En İyi Uygulamalarını Öğrenin。
Plugin başlık bilgilerini yazın.
Eklenti başlık bilgileri, ana PHP dosyasının en üst kısmına yerleştirilen özel bir yorum bloğudur. Bu bilgiler, WordPress’e bunun bir eklenti olduğunu bildirir ve yönetim panelindeki “Eklentiler” sayfasında görüntülenmesi gereken tüm bilgileri sağlar. İşte standart bir başlık örneği:
<?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
* Domain Path: /languages
*/ Basit bir işlevi gerçekleştirin.
Şimdi, bu eklentiye gerçek bir özellik ekleyelim: Web sitesindeki tüm makalelerin sonuna otomatik olarak özelleştirilmiş bir metin ekleyelim. Bunun için…the_contentBu…Filter Hook(Filtre Hook’ları.)
// 在插件主文件头部信息之后添加以下代码
function myfp_add_footer_text( $content ) {
// 确保只在主循环的单篇文章页面添加
if ( is_single() && in_the_loop() && is_main_query() ) {
$custom_text = '<p><em>Bu makaleyi okuduğunuz için teşekkür ederiz. Sizlere “Benim İlk Eklentim” tarafından sunulmuştur.</em></p>';
$content .= $custom_text;
}
return $content;
}
// 将我们的函数挂载到‘the_content’过滤器上,优先级为10
add_filter( 'the_content', 'myfp_add_footer_text' ); Önemli kavramları anlayın: Hook’lar ve API’ler
Action Hook’lar ve Filter Hook’lar
WordPress’in eklenti yapısı, iki temel “hook” (düğüm/bağlantı noktası) etrafında inşa edilmiştir:Action Hooks(ACTION Hook) veFilter Hooks(Filtre Hook’ları). Eylem Hook’ları, belirli anlarda (örneğin makale yayınlanırken, sayfa yüklenirken) özel kodlarınızı çalıştırmanıza olanak tanır. Kullanımı şu şekildedir:add_action()Bu fonksiyonlar, verilerin eklenebilmesi için kullanılır. Filtre kancaları (filter hooks) ise verileri (örneğin makale içeriği, başlık, özet vb.) çıktıya verilmeden önce değiştirmenize olanak tanır.add_filter()Fonksiyonlar, verileri monte etmek (yani bir yapıya eklemek veya bir yerde kullanılmak üzere hazırlamak) için kullanılır. Aralarındaki temel fark şudur: Filtreler, değiştirilmiş değerleri döndürmek zorundadır; buna karşın eylemler genellikle herhangi bir değer döndürmez.
WordPress Çekirdek API’sinin Kullanımı
WordPress, zengin bir dizi özellik sunar.APIGüvenli bir şekilde yaygın görevleri gerçekleştirmek için… Örneğin,Options APIEklentilerin ayarlarını veritabanında depolamak ve geri çağırmak için kullanılır;Settings APIYönetim arayüzünde standartlaştırılmış ayar sayfaları oluşturmanıza yardımcı olurum.Database API(Özellikle)$wpdbSınıflar, veritabanı ile güvenli bir şekilde etkileşim kurmanın yollarını sağlar. Bu sınıfları ustaca kullanmak önemlidir.APIDoğrudan SQL yazmak veya küresel değişkenleri kullanmak yerine, stabil ve güvenli eklentiler geliştirmenin temelidir.
Eklenti Yönetim Arayüzü Oluşturma
Yönetim menü öğesini oluşturun.
Kullanıcıların eklentinizi yapılandırabilmesi için genellikle WordPress yönetim paneline bir menü eklemeniz gerekir. Bu, aşağıdaki adımlarla yapılabilir:add_menu_page()或add_options_page()Aşağıdaki kod örneği, “Ayarlar” ana menüsüne nasıl bir alt menü sayfası ekleneceğini göstermektedir:
Tavsiye edilen okuma Sıfırdan başlayarak: Neden WordPress eklenti geliştirmeyi seçmelisiniz?。
function myfp_add_admin_menu() {
add_options_page(
'我的插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 所需权限
'my-first-plugin', // 菜单slug
'myfp_display_settings_page' // 用于输出页面内容的回调函数
);
}
add_action( 'admin_menu', 'myfp_add_admin_menu' ); Alanların ayarlanması ve verilerin kaydedilmesi
Bundan sonra, tanımlamanız gerekiyor.myfp_display_settings_pageBu fonksiyon, ayar sayfasını renderlamak için kullanılır ve…Settings APIKayıt alanları. Bu, belirli bilgilerin kullanılmasını içerir.register_setting(), add_settings_section()和add_settings_field()Bu fonksiyonlar, veri doğrulaması, güvenli nonce (rastgele sayı) kontrolleri ve kullanıcı yetki yönetiminin otomatik olarak yapılmasını sağlar; bu da manuel işlemlere kıyasla daha verimli ve güvenlidir.$_POSTVeriler çok daha güvenli ve güvenilir olmalı.
Eklenti Yayını ve En İyi Uygulamalar
Kod Güvenliği ve Uluslararasılaştırma
Güvenlik, eklenti geliştirmede en önemli konulardan biridir. Kullanıcı girdilerini her zaman doğrulayın ve temizleyin; veritabanından çıkan verileri de uygun şekilde işleyin (yani “escape” işlemi uygulayın).wp_verify_nonce()和check_admin_referer()CSRF (Cross-Site Request Forgery) saldırılarını önlemek için. Aynı zamanda, eklentinin uluslararasılaştırılması (i18n – Internationalization) için gerekli hazırlıkları yapın ve bunu kullanın.__()和_e()`translate` gibi fonksiyonlar, çeviri için kullanılacak tüm kullanıcı tarafından görülebilen metinleri kapsar.
Performans optimizasyonu.
Eklentilerde gereksiz veritabanı sorgularından veya kaynak yüklemelerinden kaçının. Bunları mantıklı bir şekilde kullanın.wp_enqueue_script()和wp_enqueue_style()Bu, betikleri ve stilleri yüklemek için kullanılır ve yalnızca ihtiyaç duyulan sayfalarda yüklenmesini sağlar. Kullanmayı düşünebilirsiniz.Transients APIZaman alıcı işlemlerin sonuçlarını önbelleğe almak için.
Yayınlamadan önce yapılması gereken hazırlık işlemleri
Eklentiyi resmi kataloga göndermeden veya dağıtmadan önce, kodun WordPress kodlama standartlarına uyduğundan emin olun. Ayrıntılı bir…readme.txtDosyanın formatı, WordPress’in resmi gereksinimlerine uygun olmalıdır. Dosyada açıklama, kurulum talimatları, ekran görüntüleri ve sık sorulan sorular (FAQ) bulunmalıdır. Eklentinin farklı WordPress sürümleriyle, popüler temalarla ve diğer eklentilerle uyumluluğu kapsamlı bir şekilde test edilmelidir.
Özetle.
Basit bir klasör ve başlık notu oluşturarak başlayarak, güçlü kancalama (hook) sistemleri ve API’ler kullanarak işlevler geliştirmeye, ardından güvenli bir yönetim arayüzü oluşturup en iyi uygulamalara uyum sağlamaya kadar, WordPress eklenti geliştirme süreci mantıklı ve adımlı bir süreçtir. Önemli olan, WordPress’in olay tabanlı mimarisini (kancaları) anlamak ve WordPress’in sunduğu araçları güvenli bir şekilde kullanmaktır. İlk işlev genişletmenizi kendiniz oluşturarak, sadece web sitenize yeni özellikler eklemekle kalmaz, aynı zamanda özelleştirme ve yaratıcılık alanına da adım atmış olursunuz. Sürekli öğrenmeye, güvenlik ve performansa dikkat etmeye devam ederseniz, eklentiniz daha geniş bir kullanıcı kitlesine hizmet edebilir.
Sıkça Sorulan Sorular.
WordPress eklentimizi nasıl hata ayıklarız?
EtkinleştirWP_DEBUGBu, hata ayıklamanın ilk adımıdır.wp-config.phpDosyada,define( 'WP_DEBUG', true );Ayarları yapın.trueBu, PHP hatalarını, uyarılarını ve bildirimlerini ekranda gösterecektir (yalnızca geliştirme ortamı için). Aynı zamanda,error_log()Query Monitor gibi fonksiyonlar veya eklentiler, değişkenleri, veritabanı sorgularını ve işlem adımlarının (hook’ların) yürütülme sırasını kaydetmek ve incelemek için kullanılır.
Tavsiye edilen okuma WordPress Eklenti Geliştirme Kılavuzu: Sıfırdan Başlayarak Yüksek Kaliteli WordPress Genişletmeleri Oluşturma。
Eklentim, temalar ve diğer eklentilerle nasıl uyumlu çalışır?
Maksimum uyumluluk sağlamak için eklentiniz yalnızca açık WordPress eklentileri arayüzleri (hooks) ve API’leri aracılığıyla etkileşimde bulunmalı; genel değişkenleri doğrudan değiştirmekten veya diğer eklentilerin iç fonksiyonlarını/klaslarını çağırmaktan kaçınmalıdır. Fonksiyonlarınıza, klaslarınıza ve sabitlerinize benzersiz bir önek ekleyin (yukarıdaki örnekte olduğu gibi).myfp_Ad çatışmalarını önlemek için… Çatışma olası olan yerlerde (örneğin kısa kodlar, özel makale türü adları gibi), kullanıcıların değiştirebileceği seçenekler sunmayı düşünün.
Hangi temel bilgileri öğrenmem gerekiyor?
Sağlam PHP temel bilgileri şarttır; çünkü eklentiler esas olarak PHP ile yazılmıştır. Aynı zamanda, HTML, CSS ve temel JavaScript (özellikle jQuery – çünkü WordPress çekirdeği jQuery’yi içerir) konularında bilgi sahibi olmanız gerekmektedir. MySQL veritabanının temel kavramlarını ve WordPress’in temel işlemlerini ve terimlerini (makaleler, sayfalar, kategoriler gibi) anlamanız da oldukça faydalı olacaktır.
WordPress resmi kataloğuna eklentimi nasıl gönderebilirim?
Öncelikle, WordPress.org üzerinde bir hesap oluşturmanız ve eklentiyi buraya göndermeniz gerekiyor. Eklentiniz tamamen GPL lisansına uygun olmalıdır. Standartlara uygun eklenti ana dosyasını ve ayrıntılı bir açıklama metnini hazırlamanız gerekmektedir.readme.txtDosyayı gönderin ve kodun WordPress kodlama standartlarına uygun olduğundan emin olun. Gönderimden sonra, bir inceleme ekibi kodun kalitesini, güvenliğini ve standartlara uygunluğunu inceleyecektir. İnceleme sonucunda onaylanırsa, dosya yayınlanabilir.
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.
- Web Sitesi Kurma Sürecinin Ayrıntılı Anlatımı: Talep Analizinden Yayına ve Dağıtıma Kadar Profesyonel Bir Rehber
- Web Sitesi Kurma Başlangıç Kılavuzu: Sıfırdan Başlayarak Modern Web Sitesi Geliştirme Sürecinin Tamamını Öğrenin
- WordPress Eklenti Geliştirme Kılavuzu: Sıfırdan Başlayarak İlk Özel Eklentinizi Oluşturun
- WordPress alt teması nedir?
- WordPress Eklenti Geliştiricisi Olmak: Sıfırdan Bir’e Kapsamlı Rehber