Wordpress İ Nasıl Yapılır?

Wordpress İ Nasıl Yapılır?
Wordpress İ Nasıl Yapılır?

Gereksinimler ve Ortam Kurulumu

WordPress'i yerel bir bilgisayarda veya canlı bir sunucuda çalıştırmak için belirli teknik gereksinimler bulunmaktadır. 2026 standartlarına göre, WordPress'in performanslı çalışması için en az PHP 8.2 veya üzeri bir sürüm, MySQL 8.0 veya MariaDB 10.6+ veritabanı sunucusu gereklidir.

  • PHP 8.2+: Daha hızlı çalışma ve modern sözdizimi desteği sağlar.
  • MySQL 8.0+: Veri bütünlüğü ve yüksek performans için zorunludur.
  • HTTPS Desteği: Güvenli veri transferi için SSL sertifikası şarttır.
  • Apache veya Nginx: Sunucu yapılandırması için yaygın kullanılan web sunucularıdır.

WordPress Kurulumu ve Veritabanı Yapılandırması

WordPress kurulumu, wp-config.php dosyasının doğru yapılandırılmasıyla başlar. Bu dosya, veritabanı bağlantı bilgilerinizi ve güvenlik anahtarlarınızı barındırır. Aşağıdaki kod bloğu, veritabanı bağlantısı için kullanılan temel tanımlamaları göstermektedir.

// Veritabanı yapılandırması
define( 'DB_NAME', 'wp_veritabani_adi' );
define( 'DB_USER', 'veritabani_kullanicisi' );
define( 'DB_PASSWORD', 'guclu_bir_sifre_buraya' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );

Bu tanımlamalar, WordPress'in veritabanı ile konuşmasını sağlar. DB_CHARSET değerinin utf8mb4 olması, emoji ve özel karakterlerin veritabanında sorunsuz saklanması için kritiktir.

Özel Bir WordPress Eklentisi Nasıl Yazılır?

WordPress'in en güçlü yanı, çekirdek dosyaları değiştirmeden işlevsellik ekleyebilmenizdir. Eklenti yazmak için wp-content/plugins/ dizini altında bir klasör oluşturmanız ve ana PHP dosyanızı tanımlamanız gerekir.

/**
 * Plugin Name: Ozel Eklenti Ismi
 * Description: Basit bir fonksiyonel eklenti ornegi.
 * Version: 1.0
 */

add_action( 'init', 'eklenti_baslatma_fonksiyonu' );

function eklenti_baslatma_fonksiyonu() {
    // Eklenti aktif oldugunda calisacak kodlar
    error_log('Eklenti basarili bir sekilde yüklendi.');
}

add_action fonksiyonu, WordPress'in olay tabanlı (event-driven) yapısını kullanmanızı sağlar. Burada init kancası (hook), WordPress'in tüm çekirdek dosyaları yüklendikten sonra çalışır.

WordPress Temalarında PHP Kullanımı ve Şablon Hiyerarşisi

WordPress temaları, header.php, footer.php ve index.php gibi dosyalardan oluşan bir şablon hiyerarşisine sahiptir. Bir sayfayı dinamik hale getirmek için WordPress'in "Loop" (Döngü) yapısını kullanmalısınız.

if ( have_posts() ) :
    while ( have_posts() ) : the_post();
        echo '


' . get_the_title() . '

'; echo '
' . get_the_content() . '
'; endwhile; else : echo 'Icerik bulunamadi.'; endif;

Bu döngü, veritabanındaki gönderileri tek tek çeker ve ekrana yazdırır. the_post() fonksiyonu, her döngü adımında global post verisini günceller.

Veri Güvenliği: SQL Injection ve XSS Koruması

WordPress geliştirirken kullanıcıdan gelen verileri asla doğrudan veritabanına göndermemeli veya tarayıcıya yansıtmamalısınız. WordPress, bu amaçla $wpdb sınıfını ve güvenlik fonksiyonlarını sunar.

global $wpdb;
$kullanici_id = intval($_GET['id']); // Veriyi temizle (sanitize)

$sonuc = $wpdb->get_row( $wpdb->prepare(
    "SELECT * FROM {$wpdb->prefix}users WHERE ID = %d",
    $kullanici_id
) );

$wpdb->prepare() kullanımı, SQL Injection saldırılarını önlemek için zorunludur. %d ifadesi, verinin bir tamsayı olduğunu belirtir ve sorguyu güvenli hale getirir.

WordPress Geliştirme Yöntemleri Karşılaştırması

Yöntem Avantajı Dezavantajı
Hazır Tema Hızlı kurulum Esneklik kısıtlı
Özel Tema Tam kontrol Yüksek geliştirme süresi
Headless WP Modern JS framework uyumu Karmaşık yapı

Güvenlik Uyarısı: Üretim ortamında (production) hata ayıklama (debug) modunu mutlaka kapatın. wp-config.php dosyasında define( 'WP_DEBUG', false ); satırının olduğundan emin olun. Aksi takdirde sunucu yollarınız ve hatalarınız dışarıdan görülebilir.

Sıkça Sorulan Sorular

WordPress'te veritabanı öneki (prefix) neden değiştirilmeli?

Varsayılan wp_ öneki, SQL Injection saldırılarında hedefin tahmin edilmesini kolaylaştırır. Kurulum sırasında bunu benzersiz bir değerle (örneğin site123_) değiştirmek ek güvenlik sağlar.

WordPress'te XSS saldırılarını nasıl önlerim?

Kullanıcıdan alınan verileri ekrana basmadan önce esc_html(), esc_url() veya esc_attr() gibi WordPress'in kendi temizleme fonksiyonlarını kullanarak çıktıyı filtrelemelisiniz.

Neden PHP 8.2 kullanmalıyım?

PHP 8.2, önceki sürümlere göre çok daha hızlıdır ve "JIT" (Just-In-Time) derleme gibi özelliklerle WordPress'in arka plan süreçlerini optimize eder.

WordPress'te özel içerik türleri (CPT) nasıl oluşturulur?

register_post_type() fonksiyonunu kullanarak, standart gönderi ve sayfalardan bağımsız yeni içerik yapıları oluşturabilirsiniz.

Eklenti çakışmaları nasıl debug edilir?

Tüm eklentileri devre dışı bırakıp tek tek aktif ederek veya WP_DEBUG_LOG özelliğini açarak wp-content/debug.log dosyasındaki hataları inceleyebilirsiniz.

WordPress Performans Optimizasyonu ve Transients API Kullanımı

WordPress sitelerinin hızı, hem kullanıcı deneyimi hem de SEO (Arama Motoru Optimizasyonu) performansı için kritik bir faktördür. Veritabanı sorgularının optimize edilmemesi,

Sonuç

WordPress'i profesyonel düzeyde kullanmak ve geliştirmek, PHP bilgisi ve WordPress API'lerine hakimiyet gerektirir. Bu rehberde öğrendiğiniz güvenlik pratikleri, veritabanı yönetimi ve şablon yapısı, projelerinizin temelini oluşturacaktır. Bir sonraki adım olarak, WordPress REST API kullanarak verilerinizi modern JavaScript kütüphaneleri (React veya Vue.js gibi) ile nasıl yöneteceğinizi araştırmanızı öneririm. Sürekli öğrenme ve temiz kod yazma disiplini, sizi başarılı bir WordPress geliştiricisi yapacaktır.

Bu yazıya tepkinizi paylaşın:
Zeynep Kaya

Yaşam kalitesini artıran hızlı ve etkili yöntemler üzerine içerik geliştiriyorum. Detaylara önem veren, çözüm odaklı rehberlerin öncüsüyüm.

Yorumlar (0)

Yorum Yaz