Sıfırdan bire: WordPress eklenti geliştirme sürecinin tamamında ustalaşmanızı sağlayacak uygulamalı eğitim

2 dakika okuma.
2026-03-24
2026-06-03
2,511
Aşağıdaki bağlantılar üzerinden alışveriş yaptığınızda, sizin için ek bir maliyet olmadan komisyon kazanıyorum.

WordPress Eklenti Geliştirme Temelleri ve Ortam Ayarları

WordPress eklentileri, esasen bir veya bir dizi PHP dosyasından oluşur ve WordPress’in kurulum dizininde bulunurlar.wp-content/pluginsDosya içinde. Geliştirme yolculuğuna başlamak için öncelikle uygun bir yerel geliştirme ortamı ayarlamak gerekiyor. Bu genellikle bir yerel sunucu yazılımı (örneğin XAMPP, MAMP veya Local by Flywheel), bir kod editörü (örneğin VS Code, PhpStorm) ve bir hata ayıklama aracı (örneğin Query Monitor, Debug Bar) kurmayı içerir.

Geliştirmenin ilk adımı, eklentinin ana dosyasını oluşturmaktır. Bu dosyanın adlandırılması çok önemlidir; açıklayıcı İngilizce kelimeler kullanılması önerilir. Örneğin:my-first-plugin.phpHer eklentinin en az bir ana dosyası olmalıdır ve bu dosyanın baş kısmında standart eklenti bilgileri içeren açıklamalar bulunmalıdır. Bu bilgiler, WordPress’in eklentiyi tanımasını ve arka plan yönetim arayüzünde eklentinin görünmesini sağlar.

<?php
/**
 * Plugin Name: 我的第一个插件
 * Plugin URI:  https://yourwebsite.com/my-first-plugin
 * Description: 这是一个用于演示WordPress插件开发流程的简单插件。
 * Version:     1.0.0
 * Author:      你的名字
 * Author URI:  https://yourwebsite.com
 * License:     GPL v2 or later
 * Text Domain: my-first-plugin
 */

Bu yorum, eklentinin temel meta verilerini sağlamaktadır. Bu adımı tamamladıktan sonra, dosyayı yükleyin.wp-content/pluginsDizin içeriğini, WordPress arayüzünün “Eklentiler” sayfasından görebilir ve oradan etkinleştirebilirsiniz.

Tavsiye edilen okuma Sıfırdan uzmana: WordPress eklenti geliştirmenin eksiksiz rehberi ve en iyi uygulamaları.

Eklentinin temel özelliklerinin ve mimarisinin oluşturulması

Action hook’ları ve filtreleri anlamak

WordPress eklenti geliştirmenin temeli, “kancalar” (Hooks) mekanizmasına dayanmaktadır. Bu mekanizma, kodunuzun belirli anlarda WordPress’in temel işleyiş sürecine dahil olmasına olanak tanır. Kancalar esas olarak iki türe ayrılır: Eylemler (Actions) ve Filtreler (Filters). Eylem kancaları, belirli olaylar gerçekleştiğinde kodunuzu çalıştırır (örneğin, bir makale yayınlandığında veya ön yüz sayfası yüklendiğinde); Filtre kancaları ise işlem sırasında iletilen verileri değiştirmenize olanak tanır.

UltaHost WordPress Sunucusu
30 gün iade garantisi, sınırsız bant genişliği ve veritabanı kullanımı, ücretsiz DDoS koruması; 3 yıllık abonelikte indirim (50%).

Örneğin, kullanarak…wp_headEylem kancaları, web sitesinin ön yüz sayfalarının üst kısmına özelleştirilmiş içerik eklemek için kullanılabilir.

Eklenti ayarları sayfası oluşturma

Kullanıcıların eklentinizi yapılandırabilmesi için genellikle bir ayar sayfası oluşturmanız gerekir.add_menu_pageadd_options_pageBu fonksiyon, WordPress yönetim paneline yeni bir sayfa ekleyebilir. Bu süreç, özel olarak oluşturduğunuz bir fonksiyonu (custom function) sisteme bağlamayı (mount) içerir.admin_menuAksiyon kancasına.

add_action('admin_menu', 'mfp_create_menu');
function mfp_create_menu() {
    add_options_page(
        '我的插件设置', // 页面标题
        '我的插件',     // 菜单标题
        'manage_options', // 权限
        'mfp-settings',   // 菜单 Slug
        'mfp_settings_page' // 显示页面内容的函数
    );
}
function mfp_settings_page() {
    // 这里输出设置页面的HTML表单
    echo '<div class="wrap"><h2>Eklenti ayarlarım.</h2></div>';
}

Bu yöntemle, arka planda bir form oluşturabilir ve kullanıcıların gönderdiği verileri işleyebilirsiniz.$_POSTVe bunu WordPress’e güvenli bir şekilde kaydedin.optionsTabloda.

Ayarları güvenli bir şekilde kaydedin ve kaydolun.

Ayarları daha güvenli ve standart bir şekilde işlemek için WordPress Settings API kullanılması önerilir. Bu API, güvenli olmayan doğrulamalar (Nonce), yetki kontrolü ve veri kaydı gibi karmaşık işlemleri sizin yerinize yapar. İlgili fonksiyonlar arasında şunlar bulunur:register_settingadd_settings_sectionadd_settings_fieldSettings API kullanarak eklentinizin ayarlarının WordPress’in yerel ayar stiline uyumlu olmasını ve daha güvenli, daha güvenilir olmasını sağlayabilirsiniz.

Tavsiye edilen okuma Sıfırdan başlamak: WordPress eklenti geliştirmenin tam rehberi ve en iyi uygulamaları.

Eklentilerin güvenliği ve uluslararasılaştırmanın gerçekleştirilmesi

Veri doğrulaması, kaçış ve güvenli olmayan doğrulama.

Güvenlik, eklenti geliştirmede en önemli konulardan biridir. Kullanıcıdan veya veritabanından gelen her veri güvenilmez olarak kabul edilmelidir. Veriler tarayıcıya gönderilirken, escape (kaçınma) işlemi yapılmalı ve `escape()` gibi fonksiyonlar kullanılmalıdır.esc_htmlesc_attrwp_kses_postKorsan siteler arası betik (Cross-Site Scripting – XSS) saldırılarını önlemek için, veriler veritabanına kaydedilmeden önce sıkı bir doğrulama ve temizleme işlemi yapılmalıdır.

Tüm veri değişikliği içeren yönetici formları için güvenli olmayan doğrulama yöntemleri kullanılmalıdır.wp_nonce_fieldFormda rastgele oluşturulmuş, tek kullanımlık bir doğrulama alanı ekleyin ve gönderim işlemi sırasında bu alanı kullanın.wp_verify_nonceGeçerliliğini doğrulamak için kullanılır; böylece çapraz sitelik istek sahteciliği (cross-site request forgery) saldırıları önlenir.

Eklentiyi çok dilli destekleyecek şekilde ayarlayın.

Uluslararasılaştırma, eklentinizin dünya genelindeki kullanıcılar tarafından kullanılmasını sağlar. Bunun için, tüm kullanıcılar tarafından görülebilecek metinleri önceden hazırlamanız gerekir. Kodda bunun için uygun yapıları kullanın.__('Text', 'text-domain')Tabii ki, lütfen çevirmek istediğiniz metni bana verin._e('Text', 'text-domain')Gelen metin, doğrudan çevrilen metinle eşleşmelidir. Eklentinin baş kısmındaki yorumlarda belirtilen “Text Domain”, burada kullanılan değerle aynı olmalıdır.text-domainBirbiriyle uyumlu olması genellikle eklentinin klasör adı veya ana dosya adıyla ilgilidir.

hosting.com Paylaşımlı Barındırma
AMD EPYC CPU'lar, NVMe SSD depolama ve LiteSpeed ile yüksek performans, 7/24, 7x7 uzman şirket içi destek, SSL, kaba kuvvet, kötü amaçlı yazılım ve DDoS koruması dahil gelişmiş güvenlik önlemleri, 73%'ye kadar tasarruf

Kodu paketledikten sonra, Poedit gibi bir araç kullanarak derlemeniz gerekmektedir..potŞablon dosyaları; çevirmenler, bu dosyalara dayanarak çeşitli dillerde içerikler oluşturabilirler..po.moÇeviri dosyasını eklentinin içine koyun.languagesKlasöre eklediğinizde, WordPress web sitesinin dil ayarlarına göre ilgili çevirileri otomatik olarak yükler.

Gelişmiş Özellikler ve Yayın Hazırlığı

Eklentinin temel işlevleri ve güvenliği sağlandıktan sonra, daha gelişmiş özellikler eklemeyi düşünebilirsiniz. Örneğin, özel bir içerik türünü (örneğin “ürün” veya “portföy”) yönetmek için özel makale türleri oluşturabilirsiniz.register_post_typeBu işlevi bir fonksiyon ile gerçekleştirebilirsiniz. Veya, özel araçlar ekleyerek genişletme yoluyla da bunu yapabilirsiniz.WP_WidgetSınıflar kullanarak, görünüm araç çubuğu bölgesinde sürüklebileceğiniz modüller oluşturabilirsiniz.

Eklenti yayınlamadan önce, farklı sürümlerdeki WordPress, PHP ve çeşitli temalar ile diğer eklentilerle bir arada çalışırken stabil bir şekilde çalıştığından emin olmak için kapsamlı testler yapılmalıdır. Benzeri bir yaklaşım kullanarak…defined('ABSPATH') or die('No script kiddies please!');Bu ifadeler, dosyaların doğrudan erişilmesini engelleyerek güvenliği artırmak için kullanılır.

Tavsiye edilen okuma WordPress Temaları ve Eklentilerinin Geliştirilmesine Derinlemesine Bir Bakış: Başlangıçtan Uygulamaya

Son olarak, eklentiniz için açık ve anlaşılır bir dokümantasyon hazırlayın.README.txtBelgede, özelliklerin ayrıntılı açıklamaları, kurulum adımları, sık karşılaşılan sorunlar vb. bulunmaktadır. Eğer eklentiyi WordPress’in resmi eklenti dizinine göndermeyi planlıyorsanız, belirli kod standartlarına ve dizin yapısı gereksinimlerine uymalısınız. Tüm kontrolleri ve testleri tamamladıktan sonra, elde ettiğiniz sonuçları bir ZIP dosyası olarak paketleyip kullanıcılara paylaşabilir veya resmi dizine gönderebilirsiniz.

Özetle.

WordPress eklenti geliştirme, yaratıcılığı işlevlere dönüştürme sürecidir ve WordPress’in temel mekanizmalarına (özellikle “hook” sistemine) derin bir anlayış gerektirir. Standart açıklamalar içeren bir ana dosya oluşturarak başlayın, ardından işlevleri adım adım geliştirin ve güvenliği (doğrulama, kod dönüştürme, güvenli olmayan işlemler), ayrıca uluslararasılaştırmayı her zaman öncelikli tutun. Ayarlar API’si (Settings API) ve WP_Widget sınıfı gibi standart uygulamaları takip ederek eklentinizin profesyonelliğini ve uyumluluğunu sağlayabilirsiniz. Son olarak, kapsamlı testler ve açıklayıcı dokümantasyon, bir eklentinin başarılı bir şekilde yayınlanması için vazgeçilmez adımlardır. Bu sürecin tamamını öğrenmek, WordPress dünyasına özgün değerler katma konusunda size önemli bir avantaj sağlayacaktır.

InterServer Paylaşımlı Barındırma
Paylaşımlı hosting aylık $2.50 USD, ilk ay $0.1 USD promosyon kodu tryinterserver, 461 bulut uygulaması komut dosyası, tek tıklamayla yükleme.

Sıkça Sorulan Sorular.

WordPress eklentisi geliştirmek için PHP’yi ne düzeyde bilmek gerekiyor?

PHP’nin temel dilbilgisini öğrenmeniz gerekiyor; bu, değişkenler, diziler, koşullu ifadeler, döngüler, fonksiyonlar ve nesne yönelimli programlamanın temel kavramlarını içerir. WordPress çekirdeği ve eklentilerinin çoğu prosedürsel bir programlama tarzı benimsediği ve çok sayıda “hook” fonksiyonu kullandığı için, fonksiyonların kullanımı ve geri çağırma (callback) mekanizmalarını anlamak özellikle önemlidir. PHP uzmanı olmanıza gerek yoktur, ancak sağlam bir temel oluşturmanız şarttır.

Geliştirilmekte olan bir eklentiyi nasıl hata ayıklarım?

Özel hata ayıklama eklentilerinin, örneğin Query Monitor ve Debug Bar’ın yüklenmesi ve etkinleştirilmesi önerilir. Ayrıca,wp-config.phpWordPress’ın hata ayıklama (debugging) modunun dosyada etkinleştirilmesi çok önemlidir:WP_DEBUGSabit, olarak ayarlandı.trueBu, tüm PHP hatalarını, uyarılarını ve bildirimlerini sayfada gösterecek ve sorunları hızlı bir şekilde tespit etmenize yardımcı olacaktır. Karmaşık mantıklar için ise…error_log()Fonksiyon, değişken bilgilerini sunucunun hata günlüğüne kaydeder ve burada analiz edilir.

Eklentinin kodu hangi klasöre konmalı?

Tüm eklentilere özel kodlar mutlaka belirli bir klasörde veya dosyada saklanmalıdır.wp-content/pluginsDizin içinde her eklentinin kendi bağımsız bir alt klasörü olmalıdır. Ana dosya, JavaScript, CSS, görsel kaynaklar ve diğer PHP dosyaları bu alt klasör içinde düzenlenmelidir. Bu yöntem, tüm dosyaların doğrudan ana dizine konulmasından daha iyidir.pluginsAna dizinde daha net ve daha kolay yönetilebilir.

Eklentim, temalar ve diğer eklentilerle nasıl uyumlu çalışır?

Maksimum uyumluluk sağlamak için, eklentiniz yalnızca gerekli olduğunda yeni özellikler eklemeli ve küresel değişkenleri doğrudan değiştirmekten veya temel fonksiyonları geçersiz kılmaktan kaçınmalıdır. Fonksiyonlarınızı, sınıflarınızı ve sabitlerinizi her zaman eklentiye özgü bir önek kullanarak adlandırın.mfp_custom_functionBu sayede adlandırma çakışmaları etkili bir şekilde önlenebilir. Ön uç stil veya betiklerini eklerken, bağımlılıkları uygun bir şekilde yönetmeli ve koşullu yükleme işlemlerini dikkate almalısınız; böylece ilgisiz sayfalar etkilenmez.