Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Kupası
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

WordPress Menü Öğelerine İlk ve Son CSS Sınıfı Nasıl Eklenir?

Hiç benzersiz şekilde tasarlanmış ilk ve son menü öğelerine sahip web siteleri gördünüz mü? Bu tesadüf değildir – akıllı CSS iş başındadır. Bu teknik, iletişim sayfanız veya özel bir teklif gibi önemli bağlantıları vurgulayabilir.

Birçok okuyucumuz menü öğelerine özel sınıflar eklemeyi denedi ancak menülerini yeniden düzenlediklerinde stilin bozulduğunu fark ettiler. ‘İlk’ ve ‘son’ olarak etiketlenen öğeler artık bu konumlarda değil ve menü tutarsız görünüyor.

Bu nedenle bu kılavuz, daha sonra öğeleri karıştırsanız bile menü öğelerinize yapışacak bir .first ve .last sınıfını nasıl ekleyeceğinizi gösterecektir. İki yöntemi ele alacağız: klasik temalar için bir filtre ve blok temalar da dahil olmak üzere tüm temalar için CSS seçicileri.

How to Add the First & Last Class to WordPress Navigation Menu Items

İlk ve Son Navigasyon Öğelerini Neden Farklı Şekillendirelim?

Bazen bir gezinti menüsündeki ilk ve son öğelere özel stil eklemeniz gerekebilir. Bu, sitenizin iletişim formuna veya WooCommerce alışveriş sepeti sayfasına giden bağlantı gibi önemli bağlantıların öne çıkmasını sağlayabilir.

Bu durumda, ilk ve son menü öğelerine özel bir CSS sınıfı ekleyebilirsiniz. Ancak, menünün sırasını herhangi bir noktada değiştirirseniz, bu özel stili tamamen bozabilir.

Bu nedenle, bunun yerine filtre kullanmanızı öneririz.

Bu kılavuzda, navigasyon menünüzün ilk ve son öğelerini nasıl stilize edeceğinizi göstereceğiz, böylece özel stili bozmadan menüyü yeniden düzenleyebilirsiniz. Doğrudan kullanmak istediğiniz yönteme atlamak için aşağıdaki hızlı bağlantıları kullanın:

Profesyonel İpucu: Web sitenizdeki herhangi bir menü öğesini vurgulamak mı istiyorsunuz? Daha fazla bilgi için WordPress’te bir menü öğesinin nasıl vurgulanacağına ilişkin kılavuzumuza göz atın.

Yöntem 1: Filtre Kullanarak İlk ve Son Sınıf Ekleme (Önerilen)

Not: Bu yöntem yalnızca klasik bir WordPress temasıyla çalışır. Bir blok tema kullanıyorsanız, Yöntem 2‘ye gidin.

Gezinme menüsü öğelerinizi şekillendirmenin en kolay yolu temanıza bir filtre eklemektir.

Genellikle WordPress eğitimlerinde temanızın functions.php dosyasına eklemeniz için talimatlar içeren kod parçacıkları bulacaksınız.

En büyük sorun, özel kod parçacığındaki küçük bir hatanın bile WordPress sitenizi bozabilmesi ve erişilemez hale getirebilmesidir. WordPress temanızı güncellerseniz, tüm özelleştirmelerinizi kaybedeceğinizden bahsetmiyorum bile.

İşte burada WPCode devreye giriyor.

Bu ücretsiz eklenti, sitenizi riske atmadan WordPress’e özel CSS, PHP, HTML ve daha fazlasını eklemeyi kolaylaştırır.

Yapmanız gereken ilk şey ücretsiz WPCode eklentisini yüklemek ve etkinleştirmektir. Daha fazla ayrıntı için WordPress eklentisi yükleme hakkındaki adım adım kılavuzumuza bakın.

Etkinleştirmenin ardından Kod Parçacıkları ” Parçacık Ekle‘ye gidin.

Adding a custom code snippet using WPCode

Burada, farenizi ‘Özel Kodunuzu Ekleyin’ seçeneğinin üzerine getirmeniz yeterlidir.

Göründüğünde, ‘Snippet kullan’ seçeneğine tıklayın.

Adding a custom code snippet to a WordPress website using WPCode

Başlamak için, özel kod parçacığı için bir başlık yazın. Bu, parçacığı WordPress kontrol panelinde tanımlamanıza yardımcı olacak herhangi bir şey olabilir.

Bundan sonra, ‘Kod Türü’ açılır menüsünü açın ve ‘PHP Snippet’i seçin.

Adding a custom PHP snippet to WordPress using WPCode

Daha sonra aşağıdaki PHP’yi kod kutusuna ekleyebilirsiniz:

function wpb_first_and_last_menu_class($items) {
    $items[1]->classes[] = 'first';
    $items[count($items)]->classes[] = 'last';
    return $items;
}
add_filter('wp_nav_menu_objects', 'wpb_first_and_last_menu_class');

Bundan sonra, ekranın üst kısmına kaydırmaya ve ‘Etkin Değil’ geçişine tıklayarak ‘Etkin’ olarak değiştirmeye hazırsınız.

Son olarak, PHP snippet’ini canlı hale getirmek için ‘Snippet’i Kaydet’e tıklayın.

Adding custom styling to a navigation menu using WPCode

Bu işlem, ilk ve son menü öğeleriniz için .first ve .last CSS sınıflarını oluşturur. Artık özel navigasyon menünüzdeki bu öğelere benzersiz stil uygulamak için bu sınıfları kullanabilirsiniz.

Bunu yapmak için WordPress web sitenize ikinci bir kod parçacığı eklemeniz gerekecektir. Başlamak için, yukarıda açıklanan aynı süreci izleyerek yeni bir özel kod parçacığı oluşturun.

Bundan sonra, özel kod parçacığı için bir başlık yazın.

Ardından, ‘Kod Türü’ açılır menüsünü açın, ancak bu kez ‘CSS Snippet’i seçin.

Styling the first and last menu items using WPCode

Bu kılavuz için, kod kutusuna aşağıdaki CSS biçimlendirmesini ekleyerek ilk ve son menü öğelerini kalınlaştıracağız:

.first a {font-weight: bold;}

.last a {font-weight: bold;}

Bunu yaptıktan sonra, ‘Etkin Değil’ geçişine tıklayarak ‘Etkin’ olarak değişmesini sağlayın.

Adding custom styling to a menu using code

Son olarak, CSS snippet’ini canlı hale getirmek için ‘Snippet’i Kaydet’e tıklayın.

Şimdi, web sitenizi ziyaret ederseniz, yeni şekillendirilmiş menüyü canlı olarak göreceksiniz.

An example of a WordPress menu, created using WPCode

Yöntem 2: CSS Seçicileri Kullanarak İlk ve Son Öğeleri Şekillendirme (Tüm Temalarla Çalışır)

Kod parçacığı eklentisi kullanmak istemiyorsanız, CSS seçicilerini kullanarak ilk ve son menü öğelerini biçimlendirebilirsiniz. Ancak bu yöntem Internet Explorer gibi bazı eski tarayıcılarda çalışmayabilir.

Bunu göz önünde bulundurarak, WordPress web sitenizi farklı tarayıcılarda test etmek iyi bir fikirdir.

Bu yöntemi izlemek için temanızın stil sayfasına veya WordPress Tema Özelleştirici‘nin ‘Ek CSS’ bölümüne kod eklemeniz gerekecektir.

Bunu daha önce yapmadıysanız, WordPress sitenize nasıl kolayca özel CSS ekleyebileceğinize ilişkin kılavuzumuza bakın.

İlk adım, temanızın style.css dosyasını düzenlemek veya Görünüm ” Özelleştir ‘e gidip ‘Ek CSS’ye tıklamaktır.

The WordPress Theme Customizer

Bundan sonra, devam edin ve aşağıdaki kod parçacığını sitenize ekleyin:

ul#yourmenuid > li:first-child { }
ul#yourmenuid > li:last-child { }

‘yourmenuid’ yerine navigasyon menünüzün ID’sini yazmanız gerektiğini unutmayın.

‘first-child’ ve ‘last-child’ seçicileri, navigasyon menüsündeki ilk ve son öğeler olan ebeveyninin ilk ve son çocuğunu seçer.

Örneğin, WordPress blogumuzdaki ilk ve son gezinme menüsü öğelerini kalınlaştırmak için bu kodu kullandık:

ul#primary-menu-list > li:first-child a {
    font-weight: bold;
}
ul#primary-menu-list > li:last-child a {
    font-weight: bold;
}
Using CSS Selectors to Style First and Last Menu Items Differently

Bir WordPress blok teması kullanıyorsanız, WordPress yöneticinizde Tema Özelleştirici eksik olacaktır. Tema Özelleştirici’ye erişmek için tarayıcınıza bu URL’yi girmeniz gerekir:

https://yourdomainname.com/wp-admin/customize.php

Alan adını web sitenizin alan adıyla değiştirdiğinizden emin olun.

Bundan sonra, daha önce olduğu gibi ‘Ek CSS’ sekmesini açın ve aşağıdaki kodu ekleyin. Menü kimliğinizi eklemenize gerek olmadığından kodun nasıl biraz farklı göründüğüne dikkat edin.

li:first-child a,
li:last-child a {
    background-color: black;
    border: none;
    color: white !important; /* Ensures the color white is prioritized */
    padding: 15px 32px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 12px;
}

Kodu ihtiyaçlarınıza göre özelleştirmekten çekinmeyin. Aşağıdaki örnekte, ilk ve son bağlantıları düğmelere dönüştürdük.

İşte böyle görünüyor:

Inserting custom CSS in the block theme for first and last navigation link styling

Umarız bu eğitim WordPress navigasyon menülerine .first ve .last sınıflarını nasıl ekleyeceğinizi öğrenmenize yardımcı olmuştur. WordPress’te dikey gezinme menüsü oluşturma makalemize ve WordPress sitesinde açılır menü oluşturmaya ilişkin başlangıç kılavuzumuza da göz atmak isteyebilirsiniz.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

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

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Ultimate WordPress Araç Kiti

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

Reader Interactions

20 yorumBir Cevap Bırakın

  1. Syed Balkhi

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Ahmed Mahdi

    i’ve changed the code slightly to work with child menus too:

    function wpb_first_and_last_menu_class($items) {

    foreach($items as $k => $v){
    $parent[$v->menu_item_parent][] = $v;
    }

    foreach($parent as $k => $v){
    $v[0]->classes[] = ‘first’;
    $v[count($v)-1]->classes[] = ‘last’;
    }

    return $items;

    }

    add_filter(‘wp_nav_menu_objects’, ‘wpb_first_and_last_menu_class’);

  3. Trevor Simonton

    exactly what i needed. thank you!

  4. Georgios Panagiotakopoulos

    Thanks! This works great!

  5. Munkhbayar

    Thanks for code. Works for me.

  6. mad_doc

    Thank you for idea & help!

  7. Charles

    Thanks for this nice code…

    What about child menu first and last item?
    It applied only for parent manu.

    Do you have any idea about child last item?

  8. jordi

    Anyone have any tip about use add_filter(”); for wp_nav_menu using STARKERS?
    can’t make it works :( JS and CSS are fine to do that, it is just frustrating to don’t be able to fix it from the back…
    thanks to share anyway!!

  9. Jake

    This does not work reliably if you have nested menus.

      • Olivier

        It works when the menu item is the last, or the last child of a last menu item.
        It does not work when the menu item is a last child of a menu item that is not the last.

  10. Olivier

    Together with some other additions to functions.php that i’ve tried, this code fails to tag a menu item as first or last menu item when they are in a submenu. A fix for this would be great!

  11. Elliott Richmond

    Nice! Would usually use CSS but this is a good tip

  12. Mattia

    Great! This is particularly interesting because I have to class more than 2 menu items…
    Now I got it!

    Thanks

  13. karen

    Thanks for this! Forgive me if I missed it – but – is there an example of the menu to see the difference in the nav created by this class? Thank you again!

    • Editorial Staff

      The site we designed for our client is not live yet. But the main reason was that we wanted to have a border left to the first menu item. All other items had border right element with a specific padding and margin. We used the last class to remove the margin right and the border right because there was no need for it. It was hitting the wrap container. Hope you can visualize it.

      Yönetici

    • Ivo Minchev

      Pobably because of the #yourmenuid tag. I tried some ID’s but none of them worked.

    • Editorial Staff

      Don’t think that you are using the wp_nav_menu. From the looks of it, it seems that your site is using the fall_back menu by listing all pages. Can you confirm that you have gone into Appearance > Menu and created a menu there. Then specified that menu as a primary location??

      Yönetici

Bir Cevap Bırakın

Yorum bırakmayı seçtiğiniz için teşekkür ederiz. Lütfen tüm yorumların yorum poli̇ti̇kasi uyarınca denetlendiğini ve e-posta adresinizin yayımlanmayacağını unutmayın. Ad alanında anahtar kelime KULLANMAYIN. Kişisel ve anlamlı bir sohbet edelim.