WordPress Menü Desteği Temalar için Nasıl Eklenir?

6 Min. Okuma
menü desteği temalar

WordPress tabanlı web sitelerinde gezinme menüleri, kullanıcı deneyiminin temelini oluşturur. Tema geliştiricileri için, bu menü sistemini esnek ve kontrol edilebilir hale getirmek büyük önem taşır. Bu noktada menü desteği temalar için vazgeçilmez bir özelliktir.

Bu yazıda, WordPress temalarına menü desteği nasıl eklenir, menü alanları nasıl tanımlanır, kullanıcıların kontrol panelinden menüleri nasıl yöneteceği ve gelişmiş çoklu menü yapıları nasıl oluşturulacağı konularını detaylı olarak ele alacağız.

WordPress’in menü yönetimi sistemi sayesinde:

  • Kullanıcılar kolayca navigasyon menüleri oluşturabilir

  • Menü yapısı panelden kontrol edilebilir

  • Dinamik ve mobil uyumlu menüler yapılabilir

  • Tema geliştiricisi olarak site sahiplerine esneklik sağlanır

Bu nedenle, menü desteği temalar için profesyonellik göstergesidir.

WordPress’te bir temanın menüleri desteklemesi için aşağıdaki adımlar izlenir:

  1. functions.php dosyasında menü alanı tanımlanır

  2. wp_nav_menu() fonksiyonu ile menü temada çağrılır

  3. Kullanıcılar, admin panelinden menüleri oluşturur ve konumlandırır

1. functions.php Dosyasına Menü Desteği Ekleme

Aşağıdaki kod ile temanız menü sistemini desteklemeye başlar:

php
function tema_menu_destegi() {
register_nav_menus(array(
'ust_menu' => __('Üst Menü'),
'alt_menu' => __('Alt Menü'),
));
}
add_action('after_setup_theme', 'tema_menu_destegi');

Bu kod ile iki farklı menü alanı tanımlanmış olur. Artık admin panelde kullanıcılar bu alanları görebilir.

2. Menüleri Tema Dosyasında Gösterme

Menüyü görüntülemek için genellikle header.php dosyasında şu kod kullanılır:

php
<?php
wp_nav_menu(array(
'theme_location' => 'ust_menu',
'menu_class' => 'menu',
'container' => false
));
?>

Aynı şekilde alt menü için:

php
<?php
wp_nav_menu(array(
'theme_location' => 'alt_menu',
'menu_class' => 'alt-menu',
'container' => 'nav'
));
?>

Bu yapı sayesinde menü desteği temalar içinde doğrudan çalışır hâle gelir.

3. Kullanıcı Panelinde Menü Oluşturma

Kullanıcılar şu adımları izleyerek menülerini oluşturabilir:

  • Görünüm → Menüler

  • Yeni menü oluştur

  • Menüye sayfa, yazı, özel bağlantı ekle

  • Menü konumunu seç (üst menü / alt menü gibi)

Tanımladığınız theme_location değerleri burada görünür ve kullanıcı seçebilir.

Gelişmiş Menü Desteği: Çoklu Menü Alanları

Gelişmiş temalarda, sadece üst/alt menü değil; mobil menü, sidebar menüsü, mega menü gibi farklı alanlara destek vermek gerekebilir.

Örnek:

php
register_nav_menus(array(
'ust_menu' => 'Üst Menü',
'mobil_menu' => 'Mobil Menü',
'footer_menu' => 'Footer Menü'
));

Kullanıcı, admin panelde bu konumlar için farklı menüler oluşturabilir.

A. Menüye Simge Ekleme (FontAwesome ile)

php
function ikonlu_menu($items) {
$items = str_replace('>Anasayfa<', '><i class="fa fa-home"></i> Anasayfa<', $items);
return $items;
}
add_filter('wp_nav_menu_items', 'ikonlu_menu');
B. Aktif Menü Öğesine Özel Sınıf

WordPress otomatik olarak aktif öğeye current-menu-item sınıfı ekler. CSS ile bu öğeye stil verebilirsiniz:

css
.current-menu-item a {
font-weight: bold;
color: #0073aa;
}

menü desteği temalar içinde mobil uyum, artık olmazsa olmaz bir gereksinimdir. Bunu sağlamak için aşağıdaki yöntemler kullanılabilir:

A. CSS ile Dropdown Menü

css
.menu li {
display: inline-block;
position: relative;
}
.menu li ul {
display: none;
position: absolute;
}
.menu li:hover ul {
display: block;
}

B. JavaScript ile Mobil Menü Düğmesi

html
<button class="mobil-ac">Menü</button>
<ul class="menu" id="ana-menu">
<li><a href="#">Anasayfa</a></li>
</ul>

<script>
document.querySelector('.mobil-ac').addEventListener('click', function() {
document.getElementById('ana-menu').classList.toggle('acik');
});
</script>

Tema geliştiriciler için bazı yararlı eklentiler:

Max Mega Menu

Dropdown ve çok sütunlu menüler oluşturmayı sağlar.

WP Mega Menu

Sürükle bırak ile özelleştirilebilir menü yapıları sunar.

QuadMenu

Duyarlı (responsive), widget destekli menü alanları oluşturur.

İyi yapılandırılmış menü sistemi:

  • Site içi bağlantıları artırır

  •  Kullanıcıyı doğru yönlendirir

  • Arama motorlarına içerik yapısını gösterir

  •  Ziyaret süresini uzatır

  •  Hemen çıkma oranını düşürür

Karmaşık veya yetersiz menüler SEO açısından ciddi kayıplara neden olabilir. Bu nedenle menü desteği temalar içinde profesyonel biçimde uygulanmalıdır.

Örnek: Tüm Menü Yapısını Kapsayan Kod

php
// functions.php
function tema_menu_destegi() {
register_nav_menus(array(
'ust_menu' => __('Üst Menü'),
'mobil_menu' => __('Mobil Menü'),
'footer_menu' => __('Alt Menü')
));
}
add_action('after_setup_theme', 'tema_menu_destegi');

// header.php
wp_nav_menu(array(
'theme_location' => 'ust_menu',
'menu_class' => 'ust-menu'
));

Bu yapı hem geliştirici hem de site sahibi için tam kontrol sunar.

Sıkça Sorulan Sorular

1. Menü konumları admin panelde görünmüyor, neden?
register_nav_menus() fonksiyonu doğru çalışmıyor olabilir. after_setup_theme hook’u içinde olduğundan emin olun.

2. Birden fazla menüyü aynı sayfada kullanabilir miyim?
Evet. Tanımladığınız her menü wp_nav_menu() ile ayrı ayrı çağrılabilir.

3. Alt menüler görünmüyor, ne yapmalıyım?
CSS veya tema yapınız alt menüleri engelliyor olabilir. hover ile gösterimi kontrol edin.

4. Menüleri widget gibi kullanabilir miyim?
Evet. “Özel Menü” widget’ı ile sidebar’a da menü ekleyebilirsiniz.

Sonuç: Menü Desteği Her Temanın Olmazsa Olmazı

WordPress tema geliştiricileri için menü desteği temalar içinde vazgeçilmez bir özelliktir. Hem kullanıcı deneyimi hem SEO açısından kritik rol oynar. Bu rehberde temel kurulumdan gelişmiş menü sistemlerine kadar tüm detaylara yer verdik.

Kendi temanızı geliştirirken bu yapıların tamamını kullanarak çok yönlü, duyarlı ve SEO dostu menü sistemleri oluşturabilirsiniz.

Benzer WordPress Eğitimleri: WordPress Toplu Yazı Silme

Bu Makaleyi Paylaş
Yorum yapılmamış