WordPress 3.0 versiyonundan önce geliştirilmiş / yazılımış temaların büyük çoğunluğunda (neredeyse hepsinde) yeni menü sistemiyle gelen özellik desteği yok. Bunun için ben de dahil bazı arkadaşlarımız bunu şu anki temalarıyla kullanamıyorlar. Yeni geliştirilen temalarda bu olacaktır ama emek verdiğimiz temalarımızda bu özellik şimdilik yok. Yada bu yazıya kadar yoktu mu demeliydim :) Bu yazıyla sizlere temanıza nasıl yeni menü desteği sağlayacağınızı göstereceğim. Bu yazının sonunda bulacağınız resimlerle de desteklyeceğim. Şimdi geçelim menü sistemine.
Yeni WordPress menü sistemiyle birlikte önceden kullandığımız wp_page_menu ve wp_categories_menu özelliklerinin dışında kendi sıralamamıza ve düzenlememize göre ekelyeceğimiz wp_nav_menu olarak da bilinen bir fonksiyon girdi hayatımıza. Bunu kullanmak için önce temamıza bunun desteğini sağlamalı ve ardından menümüzü hazırlamalıyız. Bunu functions.php dosyasına birkaç ekleme yaparak ve menü sistemimizin çağrıldığı alanı düzenleyerek yapabiliriz. En basit yoldan, sizi sıkmadan bunu anlatmaya çalışacağım.
WordPress yönetim alanındaki Görünüm sekmesinden erişebileceğiniz Menüler sayfasıyla bu menülerimizi düzenleyebiliriz. Burada bize küfür eder gibi (!) Temanızda menü desteği yok diyecektir. Bizde inatla temamıza bu desteği sağlayalım.
Destek sağlama kodu aşağıda.. Bu kodu temanızda bulunan functions.php dosyasına ekleyin. Yedeğini alın ha :). İşlemi bitirince dosyayı hemen kaydetmeyin.
// Temaya Menü Desteği // add_theme_support( 'nav-menus' );
Bu temamıza menülerin desteğini sağladı. Ama menüleri kullanabilmek için hala eksik olan birşey var. Menü için alan açmalıyız. Hemen yukarıdaki kodun altına şunu da eklerseniz menüler sayfasına gittiğinizde bu küfür eder gibi karşımıza çıkan yazının yerine “Hangi menüyü kullanmak istersiniz efendim?” diye soran bir alanla karşılaşacaksınız. Ekleyin bu kodu.
register_nav_menu('anamenu', 'Ana Menü alanı');
Bu kodla birlikte Ana Menü alanı diye bir alan kaydetmiş olduk. Şimdi gönül rahatlığıyla dosyayı kaydedip sunucuya gönderebilirsiniz.
İlk aşama bitti. Geldik zurna ile vuvuzelanın çarpışmasına. Temamıza desteğimizi ekledik ama temayı kullanmak konusunda atmamız gereken bir adım daha var. O da temaya menüyü gösterecek alanı eklemek. Onun için genelde temaların menü alanları header.php içinde olduğundan, o dosyanın da yedeğini alarak düzenlemeye başlayın.
Aşağıdaki kodu siz menünüzün bulunduğu (wp_page_menu, wp_categories_menu) alana ekleyin. Ben de şu açıklamaları hazırlayayım.
<?php wp_nav_menu( array( 'theme_location' => 'anamenu', 'sort_column' => 'menu_order', 'fallback_cb' => 'wp_page_menu' ) ); ?>
Burada görebileceğiniz gibi yukarıda bahsettiğim wp_nav_menu özelliğini kullanıyoruz. Sonrasında theme_location ile bir önceki adımda kaydettiğimiz alanın adını yazıyoruz. Burada dikkat etmeniz gereken rastgele bir menü değil, kaydettiğimiz alanın adını çağırmamız. Menünüzü hazırlarken anlatacağım bunu. sort_column alanında menu dizilimi kullanıyoruz. Bu da listelemede düzenlenmiş görünüm sağlıyor. Burada en önemli ve can alıcı nokta eğer bir menü yapmayı unutursanız menü alanınızın boş kalmaması için ayarladığımız nokta. Bu wp_nav_menu ile birlikte gelen güzel bir özellik. fallback_cb ile menü yapmazsak wp_page_menu olan klasik sayfa menüsünü çağırıyoruz. Bu da bir nevi istepne (böyle yazıylıyordu sanırım) vazifesi görüyor. tema içine eklediğimiz kodları bitirdik. Eğer herşeyi düzgün ayarladıysanız sisteminizde menü eklemediğimizden şu an için sayfalar menüsü görünecektir. Hadi menümüzü oluşturalım.
WordPress yönetim alanına geçiş yapın. Bundan sonraki işlemlerimiz sürükle bırak tarzında olacak :). Görünüm sekmesindeki Menüler sayfasına geçiş yapın. Sol tarafta bulunan Tema alanlarında Temanız 1 menü destekliyor. Kullanmak istediğiniz menüyü seçinyazısını göreceksiniz. Ben size ne demiştim :). Şimdi öncelikle bir menü oluşturalım. Adını herhangi birşey yapın. Yani ne istiyosanız onu yazın. Sonra da en basitinden çalıştığını test etmek için sol alt tarafta bulunan sayfalardan Hepsini Seç butonuyla menüye ekleyin. Sonra sağ taraftaki menü alanından istediğiniz gibi sıralayın ve sol tarafta bize menü soran alanda yarattığınız menünün adını seçin. Menüyü kaydederek anasayfanıza bakın. Puff Merlin sitenize değneğiyle mi dokundu ne :)
Yeni menünüz eski temanızı daha efektif kılacak. Yakında Yeni WordPress ile gelen Post Type (Yazı Türleri) hakkında yazacağım. O yazıma da beklerim efendim… Resimler aşağıda…