En çok ihtiyaç duyduğunuzda güvenilir WordPress eğitimleri.
WordPress Başlangıç Rehberi
WPB Kupası
25 Milyon+
Eklentilerimizi kullanan web siteleri
16+
Yıllık WordPress deneyimi
3000+
Uzmanlardan WordPress eğitimleri

WordPress'te Giriş Yapmış Kullanıcılara Farklı Menüler Nasıl Gösterilir

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ış ve oturum açmamış kullanıcılara farklı gezinme menüleri gösterme

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.

Giriş yapmış kullanıcılar için farklı menü

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.

Ana menü

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.

Giriş yapmış menü

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ış:

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.

Menü konumlarını yönetin

Ş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.

Giriş yapmış kullanıcı menüsünü seçin

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.

Select logged in user aa the condition

'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.

Giriş yapmış kullanıcılar için farklı menü

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.

WPCode'da Snippet Ekle düğmesi

Bu, WPCode'un kod parçacığı galerisini açacaktır.

Buradan, ‘+ Özel Parça Ekle’ düğmesine tıklayabilirsiniz.

WPCode'da Özel Kod Parçacığı Ekle düğmesi

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.

WPCode'da snippet başlığı ekleme ve kod türü seçme

İş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:

WPCode'un Kod Önizlemesindeki özel HTML parçacığı

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.

Gezinme menüsü kimliğini bul

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:

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.

Açıklama: İçeriğimiz okuyucu desteklidir. Bu, bazı bağlantılarımıza tıklamanız durumunda komisyon kazanabileceğimiz anlamına gelir. WPBeginner'ın nasıl finanse edildiğini, neden önemli olduğunu ve bize nasıl destek olabileceğinizi görün. İşte editöryal sürecimiz.

Nihai WordPress Araç Seti

Araç Kitimize ÜCRETSİZ erişim kazanın - her profesyonelin sahip olması gereken WordPress ile ilgili ürün ve kaynaklardan oluşan bir koleksiyon!

Okuyucu Etkileşimleri

101 CommentsLeave a Reply

  1. Ö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.

  2. 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ı?

  3. 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.

  4. benim için çalışmıyor. Bu kodu ekledikten sonra varsayılan menüyü gösteriyor, hatta ana menüm bile gitti.

  5. 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

  6. 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ı?

    • 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

  7. 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?

  8. functions.php dosyasını bu şekilde değiştirdiğinizde - bir sonraki WP sürümünü yükselttiğinizde silinmez mi?

  9. fonksiyon ikincil menüyü de ayarlıyor mu? ben sadece birincil menüyü ayarlamak istiyorum. bunu nasıl yapabilirim?

  10. bu yukarıdaki fonksiyon ikincil menüyü ayarlıyor, ben sadece üst menüyü ayarlamak istiyorum? nasıl yapabilirim

  11. Merhaba,

    Bu çözüm için çok teşekkürler, uyguladım ve mükemmel çalışıyor ve fazladan bir eklenti kurmaktan kurtardı.

  12. 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; });

  13. ———————————————————–
    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

  14. Giriş yapmamış bir kullanıcıdan tek bir menüdeki bir sayfayı gizlemek istersem ne yapmalıyım?

    • Sayfaları oturum açmamış kullanıcılardan gizlemek için kilitleyebilirsiniz. Bunu çok kolay hale getiren birkaç eklenti vardır. Users Ultra akla geliyor.

  15. 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).

    • 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.

  16. 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 !!

  17. 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’ );

  18. 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

    • 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

  19. 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’ );

  20. Bu neredeyse çok kolaydı! Basit makale için çok teşekkürler.

    Bu şekilde herhangi bir eklenti yüklememe gerek kalmıyor..

    • 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,

  21. Harika, bunu belirli bir role sahip oturum açmış kullanıcı için menü göstermek üzere nasıl kullanabilirim?

  22. Bu harika, denedim. çalışıyor. ama rol bazlı yönlendirme de istiyorum
    Bu basit mi yoksa çok mu zor

  23. 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.

  24. 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ı??

  25. 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.

    • 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’;

      ?

    • 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

  26. 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.

  27. 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

  28. 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ı!

    • 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.

      • Ç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

  29. 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!

  30. 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

  31. 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ı?

  32. 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.

  33. 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

  34. 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ı?

    • İ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’,
      ) );
      }?>

    • Kullan

      if ($args[‘theme_location’] == ‘primary’)

      yerine ve çalışacaktır

      • 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

  35. 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!

  36. 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

    • 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

Cevap Bırakın

Yorum bırakmayı seçtiğiniz için teşekkürler. Lütfen tüm yorumların yorum politikamıza göre denetlendiğini ve e-posta adresinizin YAYINLANMAYACAĞINI unutmayın. Lütfen isim alanında anahtar kelime KULLANMAYIN. Kişisel ve anlamlı bir sohbet edelim.