WordPress site ziyaretçileriniz giriş yapmış olmalarına rağmen her yerde 'Giriş Yap' veya 'Kayıt Ol' düğmelerini görmelerinin ne kadar kafa karıştırıcı olabileceğini hiç fark ettiniz mi? Ya da belki üyeleriniz hesap panolarını bulmakta zorlanıyor çünkü menüde gizlenmiş durumda.
Bu küçük hayal kırıklıkları, en sadık kullanıcılarınızın bile kendi web sitenizde yabancı gibi hissetmelerine neden olabilir.
Ve kişiselleştirilmiş bir menü tüm farkı yaratabilir. Giriş yapmış kullanıcılara genel bağlantılar yerine "Hesabım" veya "Çıkış Yap" gibi seçenekler göstermek, sitenizin daha davetkar ve profesyonel hissetmesini sağlar.
İyi haber? WordPress'te dinamik menüler oluşturmak düşündüğünüzden daha kolaydır.
Bu kılavuzda, beceri seviyeniz ne olursa olsun, oturum açmış kullanıcılara farklı menüler göstermenin iki basit yöntemini göstereceğiz. 💡

WordPress'te Oturum Açmış Kullanıcılara Neden Farklı Menüler Gösterilir?
Ziyaretçilerinize ve etkinliklerine göre WordPress web sitenizin farklı alanlarını değiştirmek, sitenizin her kullanıcı için kişiselleştirilmiş hissetmesini sağlar.
Bu kişiselleştirilmiş içerik , WordPress web sitenizde kullanıcı deneyimini geliştirmenize yardımcı olur.
Şimdi, kullanıcıların kaydolmasına veya giriş yapmasına gerek olmayan bir web sitesi çalıştırıyorsanız, muhtemelen web sitenizde aynı gezinme menülerini kullanabilirsiniz. Ancak, diğer web siteleri giriş yapmış kullanıcılara özel menüler göstermekten büyük ölçüde fayda sağlayabilir.
Örneğin, bir online mağaza, bir çevrimiçi öğrenme platformu veya bir WordPress üyelik sitesi topluluğu gibi web siteleri, kişiselleştirilmiş gezinme menülerinden faydalanabilir.
Giriş yapmış kullanıcılar için kişiselleştirilmiş bir navigasyon menüsü, kaydoldukları şeyleri daha kolay bulmalarına yardımcı olur.
Örneğin, bir çevrimiçi mağazadaki kullanıcı hesabı yönetebilir veya ücretli bir topluluğun üyesi aboneliğini kolayca yenileyebilir veya satın aldığı özel çevrimiçi kursları görüntüleyebilir.

Varsayılan olarak WordPress, istediğiniz kadar gezinme menüsü oluşturmanıza olanak tanır. Ancak, WordPress temanızdaki belirli bir konumda yalnızca bir menü göstermeyi seçebilirsiniz.
Giriş yapmış kullanıcılar için menüleri ayarlamadan önce, öncelikle iki ayrı gezinme menüsü oluşturmanız gerekecektir. Bir menü giriş yapmış kullanıcılar için, diğeri ise giriş yapmamış kullanıcılar için olacaktır. Başlayalım.
⚠️ Kısa bir not! Paylaştığımız yöntemler, WordPress klasik temalarını kullanan kişiler için tasarlanmıştır. WordPress 5.8 ve sonraki sürümlerden itibaren Tam Site Düzenleme (FSE) özelliklerini kullanan bir blok tema kullanıyorsanız, bu yöntem çalışmayabilir.
WordPress'te Giriş Yapmış ve Giriş Yapmamış Kullanıcılar İçin Menü Oluşturma
Kullanıcıların iki türü için ayrı menüler oluşturmak üzere WordPress kontrol panelindeki Görünüm » Menüler sayfasına gitmeniz gerekecek.
Web sitenizde tüm kullanıcılar için kullandığınız bir gezinme menünüz zaten varsa, bu sizin varsayılan menünüz olabilir.

Bundan sonra, oturum açmış kullanıcılarınız için yeni bir özel menü oluşturmak üzere 'yeni bir menü oluştur' bağlantısına tıklayabilirsiniz.
Burada, kayıtlı veya oturum açmış kullanıcılara göstermek istediğiniz menü öğelerini ekleyebilirsiniz. Örneğin, menünüze bir çıkış bağlantısı eklemek isteyebilirsiniz.
Ekranın sol tarafında web sitenizin sayfalarının bir listesini görebilirsiniz. Menünüze eklemek istediğiniz herhangi bir sayfanın yanındaki kutuyu işaretlemeniz ve 'Menüye Ekle' düğmesine tıklamanız yeterlidir.

Ekranın sağ tarafındaki menü öğelerini sürükleyip bırakarak da yeniden düzenleyebilirsiniz.
Sayfanın daha aşağısında, menünüzü görüntülemek için bir konum seçebilirsiniz. Ancak bu menüye şimdi bir konum atamanız gerekmez. Bunu makalenin ilerleyen bölümlerinde yapacağız.
Değişikliklerinizi kaydetmek için 'Menüyü Kaydet' düğmesine tıklamayı unutmayın.
For more details on creating menus, take a look at our beginner’s guide to WordPress navigation menus.
Artık oturum açmış kullanıcılara farklı menüler göstermeye hazırsınız. İşte bu kılavuzda ele alacağımız tüm yöntemlere hızlı bir genel bakış:
- Yöntem 1. Bir Eklenti Kullanarak WordPress'te Oturum Açmış Kullanıcılara Farklı Menüler Gösterme
- Yöntem 2. Oturum Açmış Menüyü WordPress'te Kod Kullanarak Manuel Olarak Seçin
- Bonus İpucu: WordPress Menülerinde Daha Fazla Koşullu Mantık Kullanım Alanı
- SSS: WordPress'te Giriş Yapmış Kullanıcılara Farklı Menüler Gösterme
- Ek Kaynaklar: WordPress Kullanıcı Rolleri ve Site Gezinmesi
Daha özel bir deneyim yaratmaya hazır mısınız? Hadi dalalım! 🌟
Yöntem 1. Bir Eklenti Kullanarak WordPress'te Oturum Açmış Kullanıcılara Farklı Menüler Gösterme
Giriş yapmış kullanıcılara farklı menüler göstermenin en kolay yolu Conditional Menus eklentisini kullanmaktır. Bu nedenle, önce onu yükleyip etkinleştirelim.
Daha fazla ayrıntı için, bir WordPress eklentisini nasıl kuracağınıza dair adım adım kılavuzumuza bakabilirsiniz.
Etkinleştirdikten sonra, WordPress kontrol panelinizden Görünüm » Menüler yolunu izlemeniz gerekecektir. Ardından, 'Konumları Yönet' sekmesine geçin.
Buradan, WordPress temanızda tanımlanan mevcut menü konumlarının ve şu anda görüntülenen menülerin listesini göreceksiniz.
Örneğin, 'Birincil Menü' konumumuz şu anda 'Ana Menü' gösteriyor.

Şimdi, eklentiye belirli bir koşul eşleştiğinde farklı bir menü göstermesini söylememiz gerekiyor.
Bunu yapmak için '+ Koşullu Menü' bağlantısına tıklayalım. Ardından, açılır menüden oturum açmış kullanıcılara göstermek istediğiniz gezinme menüsünü seçebilirsiniz.

Next, you’ll want to click the ‘+ Conditions’ link.
Seçenekler arasından bir dizi koşul göreceğiniz bir açılır pencere açılacaktır.

'Kullanıcı giriş yaptı' seçeneğinin yanındaki kutuyu işaretleyin ve ardından 'Kaydet' düğmesine tıklayın.
Artık giriş yapmış kullanıcı menüsünü görmek için web sitenizi ziyaret edebilirsiniz. Ayrıca, diğer tüm kullanıcılara gösterilecek gezinme menüsünü görüntülemek için WordPress yöneticinizden çıkış yapabilirsiniz.

Yöntem 2. Oturum Açmış Menüyü WordPress'te Kod Kullanarak Manuel Olarak Seçin
Bu yöntem, WordPress web sitenize kod eklemenizi gerektirir. Bunu daha önce yapmadıysanız, web'den kod parçacıklarını WordPress'e nasıl kopyalayıp yapıştıracağınıza dair rehberimize göz atın.
Genel olarak, bloglar temanızın functions.php dosyasına veya bir siteye özel eklentiye bir kod parçacığı eklemeniz gerektiğini söyler. Ancak, bu yöntemi önermiyoruz çünkü web sitenizle potansiyel olarak sorunlara neden olabilir.
Bunun yerine WPCode eklentisini kullanabilirsiniz.
WPCode, tema dosyalarınızı doğrudan düzenlemeden sitenize özel kod parçacıkları eklemenizi sağlar. Bu parçacıkları yönetmenize de yardımcı olur ve sitenizi bozma riskini en aza indirerek güvenli bir şekilde çalıştırılmalarını sağlar.
ℹ️ Not: Ortak markalarımızda, WPCode, her sitenin işlevselliğini genişletmek için özel parçacıklar eklemek için başvurduğumuz araç olmuştur. Daha fazla bilgi edinmek isterseniz, kapsamlı WPCode incelememizi okuyabilirsiniz.
Başlamak için WPCode eklentisini kuralım. Oturum açmış kullanıcılara farklı menüler göstermek için ihtiyacınız olan tüm özelliklere sahip olan WPCode ücretsiz sürümünü kullanabilirsiniz.
Ancak kod revizyon geçmişi ve kod parçacıklarının ne zaman yayına gireceğine dair zamanlama gibi gelişmiş özelliklere erişmek isterseniz, WPCode Pro'ya yükseltmeyi düşünebilirsiniz.
Kurulumdan sonra, Kod Parçacıkları » + Parçacık Ekle bölümüne gitmek isteyeceksiniz.

Bu, WPCode'un kod parçacığı galerisini açacaktır.
Buradan, ‘+ Özel Parça Ekle’ düğmesine tıklayabilirsiniz.

Ardından WPCode'un metin düzenleyicisine geleceksiniz.
Bir sonraki adım, kod parçacığınıza bir başlık eklemek ve 'Kod Türü' açılır menüsünden 'HTML parçacığı'nı seçmektir.

İşiniz bittiğinde, aşağıdaki kodu 'Kod Önizleme' alanına kopyalayıp yapıştırmanız yeterlidir:
function my_wp_nav_menu_args( $args = '' ) {
if( is_user_logged_in() ) {
// Logged in menu to display
$args['menu'] = 43;
} else {
// Non-logged-in menu to display
$args['menu'] = 35;
}
return $args;
}
add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );
WPCode düzenleyicinizde şöyle görünebilir:

Daha önce oluşturduğunuz navigasyon menülerinin kimlikleriyle 43 ve 35 değerlerini değiştirmeniz gerektiğini unutmayın.
Bir gezinme menüsünün kimliğini, 'Menüler' sayfasında seçerek bulabilirsiniz. Menü kimliği numarasını tarayıcınızın adres çubuğunda göreceksiniz.

Tüm ayrıntıların doğru olduğundan emin olduktan sonra, mavi ‘Snippet Kaydet’ düğmesine tıklayın.
Ve hepsi bu!
Bonus İpucu: WordPress Menülerinde Daha Fazla Koşullu Mantık Kullanım Alanı
Navigasyona gelince, koşullu mantık, oturum açmış kullanıcılara farklı menüler göstermekten daha fazlasını yapabilir. İşte birkaç hızlı örnek:
- Kullanıcı Rolüne Göre Farklı Menüler Göster: Yöneticiler ile işbirlikçiler için farklı bir menü görüntüleyebilirsiniz. Örneğin, yöneticiler için site ayarları veya kullanıcı yönetimi gibi yalnızca yöneticiye özel seçenekleri gösterirken, işbirlikçilere veya diğer kullanıcı rolleri için genel gezinme bağlantıları sunun.
- Farklı Sayfalarda Farklı Menüler Gösterin: Blog sayfanızda veya ürün sayfalarınızda benzersiz bir menü mü istiyorsunuz? Koşullu mantık, her biri için özel menüler oluşturmanıza olanak tanır ve navigasyonu içeriğe göre uyarlar.
- Giriş Sayfalarında Gezinmeyi Gizle: Giriş sayfaları en iyi dikkat dağıtıcı unsurlar olmadan çalışır. Gezinme menünüzü gizlemek ve eylem çağrınıza (kayıt formu veya ürün teklifi gibi) dikkati odaklamak için koşullu mantık kullanın.
Daha fazla bilgi edinmek için, WordPress'te menülere koşullu mantık ekleme konusundaki kılavuzumuza başvurabilirsiniz.
SSS: WordPress'te Giriş Yapmış Kullanıcılara Farklı Menüler Gösterme
WordPress'te kullanıcılara farklı menüler gösterme hakkında hala sorularınız mı var? İşte size yardımcı olacak hızlı cevaplar:
Kullanıcı rollerine göre farklı menüler gösterebilir miyim?
Kesinlikle. Yöneticiler, Editörler veya sitenizdeki diğer özel kullanıcı rolü için benzersiz menüler gösterebilirsiniz. Conditional Menus eklentisi, bunu ayarlamak için basit bir seçenek sunar, bu da ekip üyeleriniz için navigasyonu uyarlamak için mükemmeldir.
Is it better to use a plugin or add code manually?
Çoğu kullanıcı için Conditional Menus veya WPCode gibi bir eklenti kullanmanızı öneririz. Bu araçlar, tema dosyalarınıza dokunmadan farklı menüler göstermeyi kolaylaştırır.
WPCode, özellikle kod kullanarak esneklik tercih ediyorsanız faydalıdır. Özel PHP parçacıklarını güvenli bir şekilde eklemenize ve bunları WordPress kontrol panelinizden yönetmenize olanak tanır - doğrudan functions.php dosyasını düzenlemenize gerek kalmaz.
Manuel kodlama geliştiriciler için hala iyi bir seçenek, ancak diğer herkes için bir eklenti daha güvenli ve yeni başlayan dostu bir seçimdir.
Belirli sayfalarda navigasyon menüsünü gizleyebilir miyim?
Evet, gezinme menünüzü belirli sayfalarda gizlemek için aynı koşullu mantığı kullanabilirsiniz. Bu, açılış sayfaları için popüler bir stratejisidir, çünkü dikkat dağıtıcı unsurları ortadan kaldırır ve ziyaretçiyi eylem çağrınıza odaklanmış tutar.
Ek Kaynaklar: WordPress Kullanıcı Rolleri ve Site Gezinmesi
We hope this article has helped you learn how to easily show different navigation menus to logged-in users in WordPress. Next, you may also want to see our guides on:
- WordPress Sitenizde Kullanıcı Kaydına Nasıl İzin Verilir
- Kullanıcıların Arkadaşlarım WordPress'te Kaydolmaya Davet Etmelerine Nasıl İzin Verilir
- WordPress'te Yeni Kullanıcı Kayıtları Nasıl Moderasyon Yapılır
- WordPress'in Sizi Beni Hatırla ile Unutmamasını Nasıl Sağlarsınız
- WordPress'te Her Kullanıcıyı Özel Bir Karşılama Mesajıyla Nasıl Karşılarsınız
- WordPress Formlarınızı Yalnızca Oturum Açmış Kullanıcılara Nasıl Kısıtlarsınız
- WordPress Navigasyon Menüleri Nasıl Stil Verilir
- En İyi WordPress Üyelik Eklentileri
Bu makaleyi beğendiyseniz, lütfen WordPress video eğitimleri için YouTube Kanalımıza abone olun. Bizi ayrıca Twitter ve Facebook'ta da bulabilirsiniz.


Jan-Paul Kleijn
Önce bir eklenti düşündüm. Böyle düşünmeyi bırakmalıyım. Sonra gönderinizi gördüm ve ikna oldum. Bunu paylaştığınız için teşekkürler, bana çok güzel yardımcı oldunuz.
Phil
Bunun için çok teşekkürler. Mükemmel çalışıyor.
Ariet
Merhaba,
Bu tamamen işe yarıyor!
Ancak altbilgi menümü de değiştiriyor.. altbilgi menümün aynı kalmasını sağlayacak bir yol var mı?
Tarron Acuff
Yani, 2 menüm var. Biri herkese açık, diğeri ise çalışanlar giriş yaptıklarında görmek isteyecekleri bir menü. Çalışan menüsü, yalnızca bir çalışan giriş yaptığında ana menünün yerini alacak.
Here is what I am currently using in my functions.php file
// Rolü bir gövde sınıfı olarak ayarla
function add_role_to_body( $classes ) {
$user = wp_get_current_user();
$user_roles = $user->roles; foreach( $user_roles as $role ) { $classes[] = ‘role-‘ . $role; }
return $classes;
}
add_filter( ‘body_class’, ‘add_role_to_body’ );
***CSS için eklediğim şeyler şunlardır***
/* İlk olarak "çalışan" olmayan kullanıcılar için menü öğelerini gizle */
#top-menu li.menu-for-employee {
display: none;
}
/* "çalışan" kullanıcısı için menü öğelerini göster */ .role-employee #top-menu li.menu-for-employee { display: initial; }
Bir çalışan olarak giriş yaptığımda her iki menü de gösteriliyor.
Şimdiden teşekkürler.
Wasim
benim için çalışmıyor. Bu kodu ekledikten sonra varsayılan menüyü gösteriyor, hatta ana menüm bile gitti.
Joe
Merhaba Millet,
Güzel bir öğretici ama belirli bir ekran boyutunda duyarlı bir menüyü değiştirmek için aynı yaklaşımı kullanıp kullanamayacağınızı merak ediyordum?
İki menüm var ama tercihen 768 pikselde menüyü başka bir menüyle değiştirerek tek bir duyarlı menü istiyorum.
Teşekkürler
Pet
Kılavuzlarınızla harika iş çıkarmışsınız. İlk wordpress sitemi kuruyorum ve sitenizin bana rehberlik etmesi inanılmaz derecede yardımcı oluyor, teşekkür ederim.
Giriş yapmış kullanıcılar için (örneğin 'profili düzenle') ve giriş yapmamış kullanıcılar için farklı menüler göstermek istiyordum ve bu beni buraya getirdi. Paylaştığınız kod benim için işe yarıyor. Artık güzel görünen iki menüm var. Ancak, kodun son kısmı olan 'add filter' dizesinin beni biraz karıştırdığına inanıyorum. Şimdi, kenar çubuğu widget'ının altında başka bir menü görünüyor. 'Giriş yapmış' menüsü. Sydney temasını kullanıyorum ve bu gereksiz menüyü kaldırmak için boşuna denedim. Bunun görüntülenmemesini nasıl sağlayabilirim konusunda herhangi bir fikriniz var mı?
WPBeginner Desteği
Merhaba Pet,
Özel bir menünün orada bir widget olarak eklenip eklenmediğini görmek için lütfen Görünüm » Widget'lar sayfasına bakın. Oradaysa, o widget'ı silebilirsiniz.
Yönetici
Pet
What genius! It worked! Thanks for the wonderful tip!!
Jomcy Johny
Bende de aynı sorun var.. Lütfen bana yardım edin.. ama widget'larım yok.. Teşekkürler..!
Alex Hammerschmied
Works like a charm…
Thanks for that.
Btw i love theses short tutorials
giovanna
Merhaba, bana yardım edebilir misiniz lütfen? Başka bir sorunum var lütfen? Bir menüyü herkese gizlemem ve sadece satıcıların görmesine izin vermem gerekiyor, ne yapmalıyım lütfen? Hangi özel kodu kullanmalıyım lütfen?
ericlee
functions.php dosyasını bu şekilde değiştirdiğinizde - bir sonraki WP sürümünü yükselttiğinizde silinmez mi?
WPBeginner Desteği
Yes, it will get wiped out when you update your theme. To prevent this you can create a site-specific plugin.
Yönetici
Ramona
Bu Buddypress kurulumu için çalışır mı? Teşekkürler.
Nikhil Chaudhari
fonksiyon ikincil menüyü de ayarlıyor mu? ben sadece birincil menüyü ayarlamak istiyorum. bunu nasıl yapabilirim?
Nikhil Chaudhari
bu yukarıdaki fonksiyon ikincil menüyü ayarlıyor, ben sadece üst menüyü ayarlamak istiyorum? nasıl yapabilirim
Asfaha
Merhaba,
Bu çözüm için çok teşekkürler, uyguladım ve mükemmel çalışıyor ve fazladan bir eklenti kurmaktan kurtardı.
Shafaq
Bu, oturum açmış kullanıcı menüsü için mevcut menüyü değiştirmek üzere eklenen konum üst-menü ve oturum açmış menü ile kodudur, aksi takdirde buna gerek yoktur
add_filter( ‘wp_nav_menu_args’, function ( $args )
{ if( is_user_logged_in() && $args[‘theme_location’] === ‘top-menu’ ) { $args[‘menu’] = ‘loggedin’; } return $args; });
Ashraf Ali
———————————————————–
function my_wp_nav_menu_args( $args = ” ) {
if( is_user_logged_in() ) { $args[‘menu’] = ‘logged-in’; } else { $args[‘menu’] = ‘logged-out’; } return $args; } add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ ); ———————————————————–
Şimdi bunu şununla nasıl çalıştırabilirim
—————————————————
———————————————————————————————————————-
Lütfen Tavsiye
Iqbal Mahmud
Giriş yapmamış bir kullanıcıdan tek bir menüdeki bir sayfayı gizlemek istersem ne yapmalıyım?
Kasper
Sayfaları oturum açmamış kullanıcılardan gizlemek için kilitleyebilirsiniz. Bunu çok kolay hale getiren birkaç eklenti vardır. Users Ultra akla geliyor.
Zev
Her şey mükemmel çalıştı.
Ancak, ikincil gezinme menüsü bölümünde hala kaldıramadığım tekrarlanan birincil menü sorunu yaşıyorum (ikincil bir menü kurmadım).
Vince
I’m having the exact issue. The change reflects in the secondary menu location out of nowhere and I too don’t have a secondary menu setup. :/ Please advice how to deal with it.
Şimdiden teşekkürler.
Chiranjeevi Vinodkumar
DİNLE!!!
Çoğumuz tema kullanır.
Bu yüzden önce temanızın functions.php dosyasına gidin.
Anahtar kelime olarak navigasyon ile arama yapın.
Dükkan Sahibi teması durumunda..
================================================================== register_nav_menus( array( 'top-bar-navigation' => __( 'Üst Çubuk Navigasyonu', 'shopkeeper' ), 'main-navigation' => __( 'Ana Navigasyon', 'shopkeeper' ), 'footer-navigation' => __( 'Alt Bilgi Navigasyonu', 'shopkeeper' ), ===================================================================
This is how you look.. so pick the one which is primary, In my case, Its “Top Bar Navigation” hence used “top-bar-navigation”
Aşağıdaki kodu kullandım ve harika çalıştı!!!
Bu, yazara teşekkür etme şeklimdir.
İyi günler !!
Ann Novakowski
WP ile benim için işe yarayan şey şu: Bunu, oturum açmış Buddypress kullanıcıları için belirli bir birincil menü oluşturmak için kullandım. Bu, ziyaretçilerimin altbilgi menüsünü VEYA sosyal medya menüsünü ETKİLEMEYECEK, bu nedenle oturum açmış olsunlar ya da olmasınlar herkes ikincil menüleri aynı şekilde görecek. Bu, yukarıdaki tüm yorumlara dayanmaktadır (Fransiska'ya teşekkürler!).
Çocuk Temamın functions.php dosyasına şunları ekledim:
// ANA MENÜYÜ SADECE ÜYE GİRİŞ YAPMIŞSA DEĞİŞTİR
function my_wp_nav_menu_args( $args = "" ) { if ($args['theme_location'] == 'primary') { if( is_user_logged_in()) { $args['menu'] = 'logged-in'; }else{ $args['menu'] = 'logged-out'; } } return $args; }
add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );
Oliver
Ne olduğunu bilmiyorum ama yorumum –> ” <– bunlar doğru!
fidel toro
teşekkürler!! çok yardımcı oldun
Matthias Campbell
Merhaba,
Bu kodu (muhtemelen yanlış bir şekilde) WordPress düzenleyicisindeki temamın functions.php dosyasına ekledim ve şimdi sürekli bir 500 sunucu hatası alıyorum. Kodu kaldırdıktan sonra bile.
Bundan önce siteye özel bir eklenti oluşturmayı denedim ama işe yaramadı. Kod parçacığının açılış ve kapanış parantezi gerektirip gerektirmediğini bana söyler misiniz?
Eğer gerekiyorsa bunu nasıl yapabilirim?
Ev sahibim şu anda bana yardımcı olamıyor ve bana saatlik 50 Avro karşılığında yardımcı olması için bir programcıya ödeme yapmamı istiyorlar. Lütfen bana yardım edin. Acil.
Halâ wordpress'e giriş yapmış durumdayım ancak neye tıklarsam tıklayayım bu belirli hatayla 500 hatası alıyorum.
PHP Ayrıştırma hatası: sözdizimi hatası, 1194. satırda beklenmeyen '}' karakteri.
Bunun nedeni, kod parçacığını functions.php dosyasındaki tüm metinden sonra yapıştırmış olmam.
Ardından, sorunu çözüp çözmediğini görmek için kod parçacığını kaldırdım, hem düzenleyici hem de FTP aracılığıyla ve hala hatayı alıyorum.
Yanıtınızı bekliyorum.
Saygılarımla
WPBeginner Desteği
Kodu nereye eklediğinize bağlı. Ondan önce kapanan bir PHP etiketi varsa, bir php başlangıç etiketi eklemeniz gerekir, örneğin <?php
Eğer bu kod, fonksiyonlar dosyasındaki son şeyse, kapanış etiketini eklemenize gerek yoktur.
Yönetici
Hubert
Birden fazla menü konumunuz varsa ve her konum için farklı menüler uygulamak istiyorsanız, aşağıdaki kodu kullanabilirsiniz:
function my_wp_nav_menu_args( $args = ” ) {
// Birincil menü konumu
if( ‘primary-main’ == $args[‘theme_location’] ) {
if( is_user_logged_in() ) {
$args[‘menu’] = ‘Primary-Logged-In’;
} else {
$args[‘menu’] = ‘Primary-Logged-Out’;
}
return $args;
}
// İkincil menü konumu
if( ‘secondary-menu’ == $args[‘theme_location’] ) {
if( is_user_logged_in() ) { $args['menu'] = 'Secondary-Logged-In'; } else { $args['menu'] = 'Secondary-Logged-Out'; }
return $args;
}
}
add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );
Haji
Bu işe yaramıyor, 2 veya daha fazla menüsü olanlar için doğru kodu bilen var mı?
Ravikant
Mükemmel kardeşim. İşe yaradı... harika iş
Leopold
Bu neredeyse çok kolaydı! Basit makale için çok teşekkürler.
Bu şekilde herhangi bir eklenti yüklememe gerek kalmıyor..
Gaurang
IF MENU eklentisini kullanmanın daha iyi olduğunu düşünüyorum. https://wordpress.org/plugins/if-menu/
Bu şekilde iki ayrı menü oluşturmak, menüyü iki kez oluşturmayı/güncellemeyi gerektirir.
Chris
Merhaba Gaurang,
Eklenti kullanmanın, functions.php dosyasını kodlamaktan neden daha iyi olduğunu merak ediyorum? Bir süre önce bana bir WordPress sitesi için aslında kaç eklenti kullanıldığına dikkat etmem söylendi ve yukarıdaki kod, tema güncellemelerinizi her zaman izleme zorunluluğu hariç, yeterince basit görünüyor...
Teşekkürler,
Rub
Harika, bunu belirli bir role sahip oturum açmış kullanıcı için menü göstermek üzere nasıl kullanabilirim?
Kit Johnson
Bu çok basit ve düzgün çalıştı. Bu kadar kolay olacağını düşünmemiştim. Teşekkür ederim!
Jason Sisson
Bu harika, denedim. çalışıyor. ama rol bazlı yönlendirme de istiyorum
Bu basit mi yoksa çok mu zor
Ryan R. Bayne
Teşekkürler. Menü fonksiyonlarıyla ilk kez çalışıyorum.
Çok hızlı bir şekilde bir portal tanımlamaya olanak tanıyacak WTG Portal Manager eklentisini oluşturma. Her portalın kendi menüsü olacak. Eklenti, portal ve menü arasındaki ilişkiyi daha net hale getirir ve diğer benzersiz seçenekler sunar.
veer2412
farklı kullanıcılara farklı gönderileri nasıl gösterebilirim??
veer2412
Yardım için teşekkürler.. ama sitemde farklı kullanıcılara farklı gönderiler göstermek istersem ne olur.. bunu kodlama ile yapmanın bir yolu var mı??
WPBeginner Ekibi
Görünüm > Menüler altında menünüz için bir konum seçmeniz gerekir. Sitenizde menü ekleyebileceğiniz iki alan var gibi görünüyor. Bu nedenle iki farklı menü oluşturmanız ve ardından onlara bir konum atamanız gerekir.
Heather Gile
Bunun revize edilmiş kodu, 'Primary' ve 'Top' ayrımı olsaydı ne olurdu?
$args[‘primary-menu’] = ‘logged-in’;
$args[‘top-menu’] = ‘logged-in’;
başka
$args[‘primary-menu’] = ‘logged-out’;
$args[‘top-menu’] = ‘logged-out’;
?
Kyle
Wordpress, “üst başlık” konumuma 2 menü koymama izin vermiyor. Sağladığınız kod çalışıyor, ancak TÜM menülerimi giriş yapmış veya çıkış yapmış olarak değiştirdi ve normal gezinme menümü göstermiyor
b2995
Hem üst menüm hem de site menüm (logo altında) var. Sadece üst menüyü değiştirmek için kodu nasıl değiştirmem gerekir? Şu anda TÜM menülerim değişiyor.
Harry Slyman
You saved my day! thank you
Rob
Aman Tanrım, bu o kadar basitti ki güldürdü... teşekkürler!
Melih
Açıklayıcı ve kolay, çok teşekkürler.
Rohit Gahlot
Working ..
Thanks a lot
Seth
Bunun için teşekkürler.
Ana sayfada, alt menüsü olan (açılır menü) menü adları açılır menüyü göstermiyor. Ana sayfam olmayan başka herhangi bir sayfaya gittiğimde bu bir sorun değil ve tüm menü öğeleri gösteriliyor.
Bu durum, hem giriş yapmış hem de çıkış yapmış öğeler için ana sayfada geçerlidir. Bunu düzeltmek için herhangi bir fikriniz var mı? Teşekkürler
http://www.viridianmgt.com/wordpress
WPBeginner Desteği
Tema ile ilgili bir sorun gibi görünüyor. Tema desteğinizle iletişime geçin.
Yönetici
Wouter Bredenbeek
Yalnızca belirli bir menüyü değiştirmek, örneğin $args[‘menu’] = ‘logged-in’; yerine $args[‘secondary-menu’] = ‘logged-in’; yazarak başarılabilir. İşe yaramalı!
DANIEL
Bu kod çalışmıyor. ‘primary-menu’ ve ‘secondary-menu’ kaydettim ve sağladığınız fonksiyonu argümanlarla değiştirerek deniyorum, hiçbir menü değişmiyor.
Bunu şu kodla düzelttim:
function my_wp_nav_menu_args( $args = ” ) { if ($args[‘theme_location’] == ‘secondary-menu’) { if( is_user_logged_in()) { $args[‘menu’] = ‘logged-in’; }else{ $args[‘menu’] = ‘logged-out’; } }else{ $args[‘menu’] = ‘Principal’; } return $args; }
add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );
NOT: ' Principal, birincil statik menünün adıdır.
Rory PQ
Çok yaklaştım, hem altbilgi hem de ana menülerim değişiyor. Sadece altbilgi menümü değiştirmeye çalışıyorum. Bu kodun birçok farklı versiyonunu denedim ama işe yaramadı. Çözüm önerileriniz var mı?
Temamı Firebug ile incelediğimde altbilgimin "id=footer-nav" olduğunu söyledi. "secondary-menu" yerine bu adı kullanmalı mıyım?
Çok Teşekkürler
lemonthirst
Yaşasın! Sonunda buldum, bu basit fonksiyonun işimi bu kadar kolaylaştıracağını hiç aklıma getirmemiştim.
Teşekkürler millet!
Grant
Kodları functions.php dosyasına girmeye çalıştığımda şu hatayı alıyorum:
Ayrıştırma hatası: sözdizimi hatası, beklenmeyen ’03’ (T_LNUMBER) /home/grantkessler/public_html/wp-content/themes/GameNews/functions.php dosyasında 201. satırda
Stevie Allison
Mükemmel, tam da aradığım şeydi. Şimdi deneyeceğim. Teşekkürler
Stevie Allison
Mükemmel çalışıyor. Teşekkürler
Alex
Kodu paylaştığınız için çok teşekkürler ama bu menüyü gerçekten tüm alanlara ekliyor mu? Sadece belirli bir menüde göstermenin bir yolu var mı?
shanewaj rahman
Teşekkürler,
Çok kolaylaştırdınız.
zaman
Siteye özel bir eklenti oluşturdum ve menülerim iyi çalışıyor, ancak altbilgi menüm de değişti, seçtiğim menüyü göstermiyor, giriş yapmış veya çıkış yapmış kullanıcıların menüsünü gösteriyor.
WPBeginner Desteği
Zaman WordPress menülerine konumları atanmıştır. Altbilgi menü konumu için farklı bir menü kullandığınızdan emin olun.
Yönetici
Grant
Merhaba, kodu eklemeye çalıştığımda sitemi tamamen bozuyor ve şu hata mesajını veriyor:
function my_wp_nav_menu_args( $args = ” ) { if( is_user_logged_in() ) { $args[‘menu’] = ‘logged-in’; } else { $args[‘menu’] = ‘logged-out’; } return $args; } add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );
Uyarı: Üstbilgi bilgileri değiştirilemiyor – üstbilgiler zaten gönderildi (çıktı /homepages/5/d156331781/htdocs/reviewthegame/wp-content/themes/Made-Theme/made/functions.php:12) satırında başladı) /homepages/5/d156331781/htdocs/reviewthegame/wp-includes/pluggable.php satır 899'da
joseph
Bunu yalnızca belirli bir menüye uygulama yöntemi var mı?
Şunu denedim:
if( $args->theme_location == ‘primary-menu’ ) {
//Buraya kod
}
ancak işe yaramadı. Bunu başarmak için herhangi bir fikriniz var mı?
shanewaj rahman
İki menü sorununu aşmak için yaptığım şey bu.
Bu işlevi kaldırdım ve menümü çağırdığım header.php dosyasına bu kodu ekledim.
menümü çağırdığım yere.
false,
‘menu_id’ => ‘nav’,
‘menu’ => ‘Kayıtlı’,
‘items_wrap’ => ‘%3$s’)
);
}
else
{
wp_nav_menu( array(‘container’ => false,
‘theme_location’ => ‘primary’,
‘menu_id’ => ‘nav’,
‘items_wrap’ => ‘%3$s’,
) );
}?>
Fransiska
Kullan
if ($args[‘theme_location’] == ‘primary’)
yerine ve çalışacaktır
Gerald Tyler
Fransiska, önerinizi daha detaylı açıklayabilir misiniz? Kenar çubuklarına yerleştirdiğim birkaç alt menüm var ve bu sayfadaki çözüm, tüm bu kısa menüleri artık birincil menü adlarının tamamını içeren tam menülere dönüştürüyor, çeşitli özel menülerimden hiçbiri değil. Öneriniz, bu hileyi yalnızca birincil menü konumu için uygulayabileceğimiz, kenar çubukları için değil gibi görünüyor. Mantıklı mı? Tam kodu sağlayabilir misiniz? Nasıl bir araya geldiğini tahmin etmekte pek başarılı olamıyorum.
joseph
25 Ekim 2013, 1:16
Bunu yalnızca belirli bir menüye uygulama yöntemi var mı?
Şunu denedim:
if( $args->theme_location == ‘primary-menu’ ) {
//Buraya kod
}
ancak işe yaramadı. Bunu başarmak için herhangi bir fikriniz var mı?
Fransiska
31 Oca 2014, 02:53
Kullan
if ($args[‘theme_location’] == ‘primary’)
yerine ve çalışacaktır
Jamie Mannion
Harika ipucu, sitemin geliştirilmesinde tam zamanında geldi.
Harika çalışıyor! Sanırım bunu farklı kullanıcı meta verileri için farklı menüler göstermek üzere genişleteceğim.
Paylaştığınız için teşekkürler!
karen
Merhaba, bunun için teşekkürler, çok yardımcı oldu. ancak kodu nereye koyacağımdan hala emin değilim?
(Menüleri oluşturduktan sonra, bu kodu temanızın functions.php dosyasına veya siteye özel bir eklentiye ekleyin) – functions.php dosyası nerede?
selamlar
WPBeginner Desteği
Görünüm » Düzenleyici'ye gidin, sağdaki dosya listesinde functions.php dosyasını göreceksiniz. Ancak, orada bir functions.php dosyası görmüyorsanız, bu bir tema çerçevesi veya alt tema kullandığınız anlamına gelir. Bu durumda siteniz için siteye özel bir eklenti oluşturmanız ve bu kodu o eklentinin içine eklemeniz gerekir. siteye özel eklenti hakkındaki rehberimize bakın.
Yönetici
Cathy Earle
Harika ipucu. Yaklaşan bir tasarımda kullanmayı dört gözle bekliyorum.