Wordpress İle Özel Yan Menü Alanı Nasıl Yapılır?

Wordpress İle Özel Yan Menü Alanı Nasıl Yapılır?
Wordpress İle Özel Yan Menü Alanı Nasıl Yapılır?

WordPress tabanlı web sitelerinizde kullanıcı deneyimini ve sayfa içi etkileşimi artırmanın en etkili yollarından biri, ziyaretçilerinize içeriğe özel dinamik alanlar sunmaktır. Bu rehberde, Wordpress İle Özel Yan Menü Alanı Nasıl Yapılır? sorusunun yanıtını adım adım, güvenli kodlama standartlarına uygun olarak inceleyeceğiz. Hazırlayacağımız bu özel yan menü (sidebar) alanı sayesinde, sitenizin farklı sayfalarında veya yazı kategorilerinde tamamen bağımsız bileşenler (widgets) gösterebileceksiniz.

Modern WordPress temaları genellikle varsayılan olarak tek bir yan menü alanı ile birlikte gelir. Ancak profesyonel bir web sitesi yönetiminde blog yazıları için farklı, e-ticaret sayfaları için farklı, kurumsal sayfalar için ise bambaşka yan menü içeriklerine ihtiyaç duyulur. Bu eğitim belgesinde, PHP ve WordPress kancalarını (hooks) kullanarak sıfırdan nasıl özel bir yan menü alanı tanımlayacağınızı, bunu temanıza nasıl entegre edeceğinizi ve CSS ile nasıl görselleştireceğinizi öğreneceksiniz.

Bu makale, temel düzeyde HTML, CSS ve PHP bilgisine sahip olan, kendi WordPress temasını geliştirmek veya mevcut temasını özelleştirmek isteyen geliştiriciler ve site yöneticileri için hazırlanmıştır. Adımları sırasıyla takip ederek, sitenizin performansını düşürmeden ve güvenlik açığı yaratmadan dinamik yan menüler oluşturabilirsiniz.

Ön Hazırlık ve Gereksinimler

Özel yan menü alanımızı kodlamaya başlamadan önce, çalışma ortamımızın ve dosyalarımızın güvenliğini sağlamamız gerekir. Doğrudan canlıda çalışan bir web sitesi üzerinde kod değişikliği yapmak, olası bir PHP hatasında sitenizin erişilemez hale gelmesine (White Screen of Death - Beyaz Ekran Hatası) yol açabilir. Bu nedenle aşağıdaki hazırlıkları tamamladığınızdan emin olun:

  • Etkin Bir WordPress Sürümü: Sitenizin WordPress 6.0 veya üzeri (tercihen en güncel 2026 sürümleri) kullandığından emin olun.
  • Alt Tema (Child Theme) Kullanımı: Ana temanızın dosyalarında doğrudan değişiklik yapmak, tema güncellendiğinde tüm kodlarınızın silinmesine neden olur. Bu çalışmayı mutlaka bir alt tema oluşturarak onun functions.php dosyasında gerçekleştirin.
  • Kod Editörü ve FTP Erişimi: Kodları düzenlemek için VS Code, Notepad++ gibi bir editör ve dosyaları sunucuya yüklemek için FileZilla gibi bir FTP istemcisi hazırlayın.
  • Yedekleme: İşleme başlamadan önce sitenizin veritabanını ve dosya sistemini (özellikle tema klasörünüzü) yedekleyin.
Kritik Güvenlik Uyarısı: PHP dosyalarını düzenlerken yapacağınız tek bir noktalı virgül (;) hatası sitenizin çökmesine neden olabilir. Bu nedenle değişiklikleri önce yerel (localhost) bir test ortamında denemeniz, ardından canlı sunucuya aktarmanız şiddetle önerilir.

Adım 1: WordPress'te Yan Menü (Sidebar) Çalışma Mantığı

WordPress mimarisinde yan menü alanları iki aşamalı bir süreçle çalışır. İlk aşamada, WordPress çekirdeğine "Benim şu isimde ve şu özelliklerde bir yan menü alanım var" diyerek bu alanı kaydetmemiz (register) gerekir. Bu kayıt işlemi gerçekleştikten sonra, WordPress yönetim panelinde yer alan Görünüm > Bileşenler (Widgets) sekmesinde yeni oluşturduğumuz alanı görebilir hale geliriz.

İkinci aşamada ise, kaydettiğimiz bu alanın web sitemizin ön yüzünde (frontend) tam olarak nerede gösterileceğini belirleriz. Bunun için temanın ilgili şablon dosyalarına (örneğin sidebar.php, single.php veya page.php) giderek özel bir PHP fonksiyonu yardımıyla bu alanı çağırırız. WordPress, bu alana yönetim panelinden sürükleyip bıraktığımız bileşenleri dinamik olarak çeker ve HTML çıktısı olarak ziyaretçiye sunar.

Adım 2: functions.php Dosyasında Özel Yan Menü Alanı Tanımlama

Özel yan menü alanımızı WordPress sistemine tanıtmak için temamızın functions.php dosyasını kullanacağız. Bu işlem için WordPress'in yerleşik register_sidebar() fonksiyonundan ve widgets_init kancasından (hook) yararlanacağız. Bu yöntem, WordPress standartlarına en uygun ve en güvenli yöntemdir.

Aşağıdaki örnek kod, temanızın functions.php dosyasının en altına eklemeniz gereken temel kayıt fonksiyonunu içermektedir. Kod bloğunun güvenli ve çeviriye uyumlu (localization) olmasına özen gösterilmiştir.

/**
 * Özel Yan Menü Alanı Kayıt Fonksiyonu
 * Bu fonksiyon WordPress'e yeni bir bileşen alanı tanıtır.
 */
function yazilim_egitimi_ozel_sidebar_kaydet() {
    register_sidebar( array(
        'name'          => esc_html__( 'Özel Blog Yan Menüsü', 'yazilim-egitimi-tema' ),
        'id'            => 'ozel-blog-sidebar',
        'description'   => esc_html__( 'Blog sayfalarında gösterilecek özel bileşen alanı.', 'yazilim-egitimi-tema' ),
        'before_widget' => '',
        'after_widget'  => '',
        'before_title'  => '

', 'after_title' => '

', ) ); } add_action( 'widgets_init', 'yazilim_egitimi_ozel_sidebar_kaydet' );

Yukarıdaki kod bloğunda kullanılan parametrelerin ne işe yaradığını ve neden önemli olduklarını detaylıca inceleyelim:

  • name: WordPress yönetim panelinde, Bileşenler sayfasında görünecek olan yan menü başlığıdır. esc_html__() fonksiyonu ile güvenli hale getirilmiş ve çeviriye hazır kılınmıştır.
  • id: Bu alanın benzersiz (unique) kimliğidir. Temamızda bu yan menüyü çağırırken bu ID bilgisini kullanacağız. Türkçe karakter, boşluk ve büyük harf içermemelidir.
  • description: Yönetim panelinde yöneticilere bu yan menünün nerede kullanıldığını açıklayan kısa bilgi metnidir.
  • before_widget / after_widget: Bu alana eklenecek her bir bileşenin hangi HTML etiketleri arasına alınacağını belirler. %1$s bileşenin benzersiz ID'sini, %2$s ise bileşenin sınıf adını otomatik olarak buraya yerleştirir. Bu, CSS ile şekillendirme yaparken hayati önem taşır.
  • before_title / after_title: Bileşenlerin başlıklarının hangi HTML başlık etiketiyle (örneğin

    ) sarmalanacağını belirler.

Adım 3: Birden Fazla Özel Yan Menü Alanı Nasıl Yapılır?

Bazı projelerde sadece bir tane değil, farklı sayfalar için birden fazla özel yan menü alanına ihtiyaç duyabilirsiniz. Örneğin, hem "Blog Sayfaları" hem de "E-Ticaret Ürün Sayfaları" için ayrı ayrı yan menüler tasarlamak isteyebilirsiniz. Bunun için her bir alan için ayrı fonksiyon yazmak yerine, tek bir fonksiyon içinde birden fazla register_sidebar() çağrısı yapabilirsiniz.

Aşağıdaki örnek kod, iki farklı özel yan menü alanını tek seferde ve WordPress güvenlik standartlarına uygun olarak nasıl tanımlayacağınızı göstermektedir:

/**
 * Çoklu Özel Yan Menü Alanı Kayıt Fonksiyonu
 */
function yazilim_egitimi_coklu_sidebar_kaydet() {
    
    // 1. Alan: Blog Sayfaları İçin
    register_sidebar( array(
        'name'          => esc_html__( 'Blog Sayfası Yan Menüsü', 'yazilim-egitimi-tema' ),
        'id'            => 'blog-sayfasi-sidebar',
        'description'   => esc_html__( 'Sadece blog yazılarında ve arşivlerinde görünür.', 'yazilim-egitimi-tema' ),
        'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); // 2. Alan: Kurumsal Sayfalar İçin register_sidebar( array( 'name' => esc_html__( 'Kurumsal Sayfa Yan Menüsü', 'yazilim-egitimi-tema' ), 'id' => 'kurumsal-sayfa-sidebar', 'description' => esc_html__( 'Hakkımızda, Hizmetlerimiz gibi sayfalarda görünür.', 'yazilim-egitimi-tema' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); } add_action( 'widgets_init', 'yazilim_egitimi_coklu_sidebar_kaydet' );

Bu kod bloğunu ekledikten sonra WordPress admin panelinizde Görünüm > Bileşenler (veya yeni blok tabanlı düzenleyicide ilgili alanlar) sayfasına gittiğinizde iki yeni kutucuğun oluştuğunu göreceksiniz. Artık her iki alana da farklı bileşenler (Arama kutusu, Son Yazılar, Kategori Listesi vb.) sürükleyip bırakabilirsiniz.

Adım 4: Tema Dosyalarında Özel Yan Menüyü Görüntüleme

Yan menü alanlarımızı sisteme başarıyla kaydettik ve içlerini bileşenlerle doldurduk. Şimdi sıra, bu bileşenlerin web sitemizin ön yüzünde ziyaretçilere gösterilmesini sağlamaya geldi. Bunun için temanızın şablon dosyalarında (genellikle sidebar.php dosyasında) değişiklik yapmamız gerekir.

WordPress'te bir yan menüyü ekrana yazdırmadan önce, o yan menünün içinde aktif bir bileşen olup olmadığını kontrol etmek iyi bir yazılım pratiğidir. Eğer yan menü boşsa, boş HTML etiketlerinin üretilmesini engelleyerek sayfa hızını ve SEO performansını korumuş oluruz. Bunun için is_active_sidebar() kontrolünü kullanırız.

Aşağıdaki örnek kod, sidebar-ozel.php adında yeni bir dosya oluşturup içine yazabileceğiniz veya mevcut sidebar.php dosyanıza entegre edebileceğiniz güvenli çağırma yapısını göstermektedir:

                
Bu yazıya tepkinizi paylaşın:
Selin Yılmaz

Verimlilik ve zaman yönetimi odaklı pratik bilgiler konusunda içerik üretiyorum. Okuyuculara günlük rutinlerinde hız kazandıracak uygulanabilir stratejiler sunuyorum.

Yorumlar (0)

Yorum Yaz