Geliştirme öncesindeki temel unsurları anlamak
Kod yazmaya başlamadan önce, güvenli ve verimli bir geliştirme ortamı oluşturmak şarttır. Bu, sadece geliştirme verimliliğini artırmakla kalmaz, aynı zamanda kodun sağlamlığını da garanti eder. Yerel bir WordPress çalıştırma ortamına ihtiyacınız var; bunun için XAMPP, MAMP veya Local by Flywheel, Docker gibi daha modern araçları kullanabilirsiniz. Ayrıca, PHP, JavaScript ve CSS yazarken kod vurgulama, sözdizimi ipuçları ve hata tespiti gibi özellikler sunan bir kod editörü veya entegre geliştirme ortamı (örneğin VS Code veya PHPStorm) da şarttır.
WordPress’in temel yapısını derinlemesine anlamak, eklenti geliştirmenin temel taşıdır. WordPress kendisi olay tabanlı (event-driven) bir modeli takip eder ve birçok kez “hook” (düğüm) veya “filter” (filtre) kullanır.add_action和add_filterBu iki fonksiyon, bir eklentinin “anahtarı” ve “valfi” gibi düşünülebilir. Ayrıca, eklentilerin bağımsızlığını koruması gerekir; diğer eklentileri ve temanın temel işlevlerini bozmamalıdır. Bu da sizin ad alanları (namespace’ler), sınıf kapsüllemesi (class encapsulation) ve nesne yönelimli programlamanın (object-oriented programming) temel kavramlarına aşina olmanız gerektiği anlamına gelir.
İlk eklentinizi oluşturun.
Bir eklenti oluşturmanın ilk adımı, onun için bir “ev” (yani bir saklama alanı) belirlemektir. Tüm eklentiler burada saklanır./wp-content/plugins/Dizinin içinde. Yeni bir klasör oluşturmanız gerekiyor; klasör adının benzersiz ve açıklayıcı olması önemlidir. Genellikle, eklentinin adının küçük harfleri ve tireler kullanılarak oluşturulduğu bir isim tercih edilir. Örneğin:my-first-plugin。
Tavsiye edilen okuma WordPress Eklenti Geliştirme Kılavuzu: Sıfırdan İlk Özel Eklentinizi Oluşturmak。
Bu klasörde en önemli dosya, ana eklenti dosyasıdır. Bu ana eklenti dosyası genellikle eklentinin adıyla adlandırılır; örneğin…my-first-plugin.phpBu dosyanın baş kısmındaki yorumlar, eklentinin WordPress arka planda tanınması ve görüntülenmesi için temeldir ve belirli meta bilgileri içermelidir. İşte en temel örnek:
<?php
/**
* Plugin Name: 我的第一个插件
* Plugin URI: https://example.com/my-first-plugin
* Description: 一个用于演示的简单WordPress插件。
* Version: 1.0.0
* Author: 开发者名称
* Author URI: https://example.com
* License: GPL v2 or later
* Text Domain: my-first-plugin
* Domain Path: /languages
*/ Bu dosyayı oluşturup kaydettikten sonra, WordPress arayüzüne giriş yapabilir ve “Eklentiler” yönetim sayfasına ulaşabilirsiniz. Orada “İlk Eklentim” adında bir eklentinin etkinleştirilmemiş durumda olduğunu göreceksiniz. Bu eklentiyi etkinleştirerek ilk adımı tamamlamış olursunuz. Bu eklentinin şu an için herhangi bir özelliği yoktur; ancak artık WordPress sistemi tarafından resmi olarak tanınan bir eklentidir.
Bundan sonra, ona en basit özelliği ekleyeceğiz: Web sitesinin alt kısmına özelleştirilmiş bir metin satırı ekleyeceğiz. Bu, eylem kancalarının (action hooks) kullanımını anlamamıza yardımcı olacaktır. Ana eklenti dosyasını değiştiriyoruz ve dosyanın başındaki yorumların hemen altına kodu ekliyoruz:
// 注册一个函数到 wp_footer 动作钩子
function my_first_plugin_add_footer_text() {
echo '<p style="text-align: center;">Bu, “İlk Eklentim” tarafından eklenen metindir.</p>';
}
add_action( 'wp_footer', 'my_first_plugin_add_footer_text' ); Dosyayı kaydettikten sonra, web sitesinin ön yüzünü yenileyin ve sayfanın en altına kadar kaydırın; eklenen metni göreceksiniz.add_actionWordPress’e şunu söylüyoruz: “Sistem şu adıma geldiğinde…”wp_footerBu işlem sırasında, benim tanımladığım fonksiyonu çağırın.my_first_plugin_add_footer_text”Function”.
Eklenti işlevlerinin ve veri yönetiminin gerçekleştirilmesi
Pratik bir eklenti genellikle bir veritabanı ile etkileşim kurmalıdır. WordPress, bu amaç için güçlü bir veritabanı erişim soyutlama katmanı sunar.$wpdbBu, SQL işlemlerinin güvenli ve kolay bir şekilde gerçekleştirilmesini sağlar. Örneğin, basit bir kullanıcı notu özelliği oluşturmak istiyorsanız, her notun verilerini saklamak için özel bir veritabanı tablosu oluşturmanız gerekebilir.
Tavsiye edilen okuma WordPress Eklenti Geliştirmeye Başlarken: İlk Öne Çıkan Uzantınızı Sıfırdan Oluşturun。
Eklentilerin ayar sayfaları, kullanıcıların eklenti parametrelerini yapılandırmak için kullanılan temel yollardır. Standartlaştırılmış ayar formları ve menü öğeleri oluşturmak için WordPress’in ayar API’sini kullanmanız gerekir. Bu süreç esas olarak üç temel fonksiyonu içerir:register_settingBir dizi ayar alanını kaydetmek için kullanılır.add_settings_sectionBir blok eklemek için ayar sayfasında kullanılır, ayrıca…add_settings_fieldBlok içine belirli alanlar eklemek için kullanılır.
Eklentiye yapılandırma seçenekleri ekleyin.
Diyelim ki, önceki sayfa altı metni eklentisine kullanıcı tarafından özelleştirilebilen metin ve renk özelliği eklemek istiyoruz. İlk olarak, şunları kullanmamız gerekecek:add_menu_page或add_options_pageFonksiyon, yönetim arayüzünde bir menü sayfası ekler. Daha sonra, bu menü sayfasının geri çağırma fonksiyonunda, ayarlama API’sini kullanarak bir form oluşturulur.
Bir ayarları başlatmak için bir fonksiyona ihtiyacımız var; bu fonksiyon genellikle şu yere monte edilir:admin_initAction hook’unda. İşte bir ayar alanının nasıl kaydedileceğini gösteren basitleştirilmiş bir örnek:
function my_first_plugin_settings_init() {
// 注册一个新的设置给 "my_first_plugin_settings" 页面
register_setting( 'my_first_plugin_settings', 'my_first_plugin_footer_text' );
// 在页面中添加一个新的区块
add_settings_section(
'my_first_plugin_section',
'页脚文字设置',
null,
'my_first_plugin_settings'
);
// 在区块内添加TextField字段
add_settings_field(
'my_first_plugin_field_text',
'请输入要显示的文本',
'my_first_plugin_field_text_cb',
'my_first_plugin_settings',
'my_first_plugin_section'
);
}
add_action( 'admin_init', 'my_first_plugin_settings_init' ); Daha sonra, alanların geri çağırma (callback) fonksiyonlarını tanımlamanız gerekiyor.my_first_plugin_field_text_cbBir HTML giriş kutusu oluşturur. Kullanıcı ayarları kaydettiğinde, bu değer WordPress’ta saklanır.optionsTabloda, şu yollarla bilgiye ulaşabilirsiniz:get_option(‘my_first_plugin_footer_text’)Bu değeri sayfa altı fonksiyonunda alın ve sabit olarak kodlanmış metnin yerine kullanın.
Eklentilerin Yayınlanması ve Bakımı
Eklentinizin işlevleri geliştiğinde, güvenli ve stabil hale geldiğinde, onu tüm dünyadaki kullanıcılarla paylaşmak için resmi WordPress eklenti kataloğuna göndermek isteyebilirsiniz. Bunun için bir WordPress.org hesabınızın olması ve ayrıntılı bir yayın kılavuzuna uymanız gerekmektedir. Kodunuzun resmi kodlama standartlarına uygun olması, eklentinizin güvenli ve zararlı kod içermemesi, ayrıca mümkünse eksiksiz uluslararasılaştırma (internationalization) ve yerelleştirme (localization) desteğine sahip olması önemlidir.
Uluslararasılaştırmayı gerçekleştirmek, eklentinin metinlerinin diğer dillere çevrilebilmesi gerektiği anlamına gelir. Bunun için şu araçlar kullanılmalıdır:__()和_e()Bu fonksiyonlar, kullanıcıya yönelik tüm metinleri kapsar ve eklentinin baş kısmında tanımlanır.Text Domain和Domain PathArdından, bu veriler kullanılarak bir araç yardımıyla sonuçlar üretilir..potÇeviri şablonu dosyası, çevirmenlerin kullanımı için hazırlanmıştır.
Tavsiye edilen okuma WordPress eklenti geliştirmeye hakim olmak: Sıfırdan bire özel özellikler oluşturmak.。
Özetle.
Çevre kurulumundan, temel kavramların anlaşılmasına; ana dosyanın oluşturulmasından, işlevlerin hook’lar kullanılarak gerçekleştirilmesine; API ayarlarıyla yönetim arayüzünün oluşturulmasına; ve son olarak veri yönetimi ile yayın hazırlıklarına kadar olan bu süreç, yüksek kaliteli bir WordPress eklentisi geliştirmek için gereken temel adımları kapsamaktadır. Unutmayın ki, mükemmel bir eklentinin özelliği sadece güçlü işlevlerinde değil, aynı zamanda kodunun netliğinde, güvenliğinde ve WordPress ekosistemine olan saygısında yatmaktadır. Resmi dokümantasyonları sürekli olarak incelemek, en iyi uygulamalara dikkat etmek ve aktif olarak testler yapmak, her eklenti geliştiricisinin yol alması gereken yoldur.
Sıkça Sorulan Sorular.
###: WordPress eklentisi geliştirmek için hangi PHP bilgilerine ihtiyaç vardır?
PHP’nin temel dilbilgisini öğrenmeniz gerekiyor; bu, değişkenler, fonksiyonlar, koşullu ifadeler ve döngülerü içerir. Daha da önemlisi, nesne yönelimli programlamanın (OOP) temel kavramlarını anlamanız gerekiyor: sınıflar, nesneler, özellikler ve metotlar. Birçok modern eklenti nesne yönelimli bir yaklaşımla yazıldığı için, bu kodun düzenlenmesine ve yeniden kullanılmasına yardımcı olur. PHP dizileri ve metin işlemleri konusunda da ustalaşmanız şarttır.
Bir eklentiye özel bir veritabanı tablosu nasıl eklenir?
Öncelikle, eklenti etkinleştirildiğinde tablo oluşturan SQL komutlarını çalıştıracak bir fonksiyona ihtiyacınız var. Bu genellikle şu şekilde yapılır:register_activation_hookBu fonksiyon, tablo oluşturma fonksiyonunuzu bağlamak için kullanılır. Bu fonksiyonun içinde, gerekli işlemleri gerçekleştirmek için belirli komutları veya kodları kullanmanız gerekecektir.dbDeltaBu fonksiyon, tablo yapısını oluşturmak veya güncellemek için kullanılır; çünkü tablolardaki değişiklikleri akıllıca işleyebilir. Lütfen mutlaka bunu kullanın.$wpdb->prefixTablo adlarınıza WordPress tablo önekleri ekleyin; böylece çoklu site uyumluluğu sağlanır.
WordPress eklentilerinin güvenliği konusunda hangi yönler dikkate alınmalıdır?
Güvenlik son derece önemlidir. En önemli ilke, kullanıcıların girdilerine asla güvenmemektir. Kullanıcılardan veya dış kaynaklardan gelen tüm verilere karşı dikkatli olmalıyız.$_GET, $_POSTDoğrulama ve temizleme işlemleri yapılmalıdır. Veriler tarayıcıya gönderilmeden önce, özel karakterlerin işlenmesi (escape) gerekmektedir. WordPress tarafından sağlanan fonksiyonlar kullanılabilir.sanitize_text_field(), esc_html(), wp_kses_post() Hazırlanmış ifadeler için… $wpdb Sorgular. Aynı zamanda, en az yetki ilkesine uyarak kullanıcıların yeteneklerini kontrol edin; örneğin, kullanım durumlarını inceleyin.current_user_can()Bu, yalnızca yetkili kullanıcıların belirli işlemleri gerçekleştirebilmesini sağlamak içindir.
Eklenti kodu, iyi bir yapıyı korumak için nasıl düzenlenmelidir?
İyi bir kod yapısı, sürdürülebilir bakımın anahtarıdır. Nesne yönelimli programlamanın kullanılması şiddetle tavsiye edilir; ilgili işlevler sınıflar içinde kapsüllenmelidir. Ana eklenti dosyası basit ve sade olmalı, esas olarak yönlendirme ve başlatma işlemlerinden sorumlu olmalıdır. Diğer işlevsel modüller (yönetim arayüzü sınıfları, genel işlevler sınıfları, widget sınıfları vb.) ayrı PHP dosyalarında bulunmalı ve ana dosya tarafından ihtiyaç duyulduğunda yüklenmelidir. Diğer eklentiler veya temalarla isim çatışmalarını önlemek için eklentiniz için benzersiz bir ad alanı veya fonksiyon önekleri tanımlayın.
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 alt teması nedir?
- 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ı.