Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
Puchar WPB
25 milionów+
Witryny korzystające z naszych wtyczek
16+
Lata doświadczenia z WordPressem
3000+
Samouczki WordPress od ekspertów

Jak dodać klasy CSS dla pierwszego i ostatniego elementu w menu WordPress

Czy kiedykolwiek zauważyłeś strony z unikalnie stylizowanymi pierwszymi i ostatnimi elementami menu? To nie przypadek – to sprytny CSS w akcji. Ta technika może wyróżnić ważne linki, takie jak strona kontaktowa lub specjalna oferta.

Wielu naszych czytelników próbowało dodawać niestandardowe klasy do swoich elementów menu, tylko po to, by odkryć, że gdy przestawiają swoje menu, stylizacja się psuje. Elementy oznaczone jako „pierwszy” i „ostatni” nie znajdują się już na tych pozycjach, co sprawia, że menu wygląda niespójnie.

Dlatego ten przewodnik pokaże Ci, jak dodać klasy .first i .last, które pozostaną przy elementach menu, nawet jeśli później je przetasujesz. Omówimy dwie metody: filtr dla klasycznych motywów i selektory CSS dla wszystkich motywów, w tym motywów blokowych.

Jak dodać klasy pierwszej i ostatniej pozycji do elementów menu nawigacyjnego WordPress

Dlaczego stylizować pierwszą i ostatnią pozycję menu nawigacyjnego inaczej?

Czasami może być konieczne dodanie niestandardowych stylów do pierwszego i ostatniego elementu w menu nawigacyjnym. Może to sprawić, że ważne linki będą się wyróżniać, takie jak link do formularza kontaktowego Twojej witryny lub strony koszyka WooCommerce.

W takim przypadku można po prostu dodać niestandardową klasę CSS do pierwszego i ostatniego elementu menu. Jednakże, jeśli w dowolnym momencie zmienisz kolejność menu, może to całkowicie zepsuć niestandardowe stylowanie.

Z tego powodu zalecamy używanie filtrów.

W tym przewodniku pokażemy, jak stylizować pierwszą i ostatnią pozycję menu nawigacyjnego, dzięki czemu możesz zmieniać układ menu bez psucia niestandardowych stylów. Po prostu użyj poniższych szybkich linków, aby przejść bezpośrednio do wybranej metody:

Wskazówka Pro: Chcesz wyróżnić dowolny element menu na swojej stronie? Sprawdź nasz poradnik, jak wyróżnić element menu w WordPressie, aby uzyskać więcej informacji.

Metoda 1: Dodawanie klasy pierwszej i ostatniej za pomocą filtru (zalecane)

Uwaga: Ta metoda działa tylko z klasycznym motywem WordPress. Jeśli używasz motywu blokowego, przejdź do Metody 2.

Najłatwiejszym sposobem na stylizację elementów menu nawigacyjnego jest dodanie filtra do swojego motywu.

Często w samouczkach WordPressa znajdziesz fragmenty kodu z instrukcjami, aby dodać je do pliku functions.php Twojego motywu.

Największym problemem jest to, że nawet najmniejszy błąd w niestandardowym fragmencie kodu może zepsuć Twoją witrynę WordPress i uczynić ją niedostępną. Nie wspominając już o tym, że jeśli zaktualizujesz swój motyw WordPress, stracisz wszystkie swoje dostosowania.

Właśnie dlatego WPCode jest tutaj.

Ten darmowy wtyczka ułatwia dodawanie niestandardowego CSS, PHP, HTML i innych do WordPress bez narażania Twojej witryny na ryzyko.

Pierwszą rzeczą, którą musisz zrobić, jest zainstalowanie i aktywowanie bezpłatnej wtyczki WPCode. Aby uzyskać więcej szczegółów, zobacz nasz przewodnik krok po kroku, jak zainstalować wtyczkę WordPress.

Po aktywacji przejdź do Fragmenty kodu » Dodaj fragment.

Dodawanie niestandardowego fragmentu kodu za pomocą WPCode

Tutaj po prostu najedź kursorem myszy na „Dodaj swój niestandardowy kod”.

Gdy się pojawi, kliknij „Użyj fragmentu”.

Dodawanie niestandardowego fragmentu kodu do strony WordPress za pomocą WPCode

Na początek wpisz tytuł dla niestandardowego fragmentu kodu. Może to być cokolwiek, co pomoże Ci zidentyfikować fragment w panelu WordPress.

Następnie otwórz menu rozwijane „Typ kodu” i wybierz „Fragment PHP”.

Dodawanie niestandardowego fragmentu PHP do WordPress za pomocą WPCode

Następnie możesz dodać następujący kod PHP do pola kodu:

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');

Po tym jesteś gotowy, aby przewinąć do góry ekranu i kliknąć przełącznik „Nieaktywny”, aby zmienił się na „Aktywny”.

Na koniec kliknij „Zapisz fragment”, aby fragment PHP stał się aktywny.

Dodawanie niestandardowego stylu do menu nawigacyjnego za pomocą WPCode

Tworzy to klasy CSS .first i .last dla pierwszego i ostatniego elementu menu. Możesz teraz użyć tych klas do zastosowania unikalnych stylów do tych elementów w Twoim niestandardowym menu nawigacyjnym.

Aby to zrobić, musisz dodać drugi fragment do swojej witryny WordPress. Aby zacząć, utwórz nowy niestandardowy fragment kodu, postępując zgodnie z tym samym procesem opisanym powyżej.

Następnie wpisz tytuł dla niestandardowego fragmentu kodu.

Następnie otwórz menu rozwijane „Typ kodu”, ale tym razem wybierz „Fragment CSS”.

Stylizacja pierwszego i ostatniego elementu menu za pomocą WPCode

W tym poradniku po prostu pogrubimy pierwszy i ostatni element menu, dodając następujące formatowanie CSS do pola kodu:

.first a {font-weight: bold;}

.last a {font-weight: bold;}

Po wykonaniu tej czynności kliknij przełącznik „Nieaktywny”, aby zmienił się na „Aktywny”.

Dodawanie niestandardowego stylu do menu za pomocą kodu

Na koniec kliknij „Zapisz fragment”, aby fragment CSS stał się aktywny.

Teraz, jeśli odwiedzisz swoją witrynę, zobaczysz na żywo nowo stylizowane menu.

Przykład menu WordPress, utworzonego za pomocą WPCode

Metoda 2: Stylizowanie pierwszych i ostatnich pozycji za pomocą selektorów CSS (działa ze wszystkimi motywami)

Jeśli nie chcesz używać wtyczki do fragmentów kodu, możesz stylizować pierwsze i ostatnie elementy menu za pomocą selektorów CSS. Jednak ta metoda może nie działać w niektórych starszych przeglądarkach, takich jak Internet Explorer.

Mając to na uwadze, dobrym pomysłem jest przetestowanie witryny WordPress w różnych przeglądarkach.

Aby zastosować tę metodę, musisz dodać kod do arkusza stylów swojego motywu lub do sekcji „Dodatkowe CSS” w Niestandardowych ustawieniach motywu WordPress.

Jeśli nie robiłeś tego wcześniej, zapoznaj się z naszym przewodnikiem na temat jak łatwo dodać niestandardowy CSS do swojej witryny WordPress.

Pierwszym krokiem jest edycja pliku style.css motywu lub przejście do Wygląd » Dostosuj, a następnie kliknięcie „Dodatkowy CSS”.

Narzędzie do dostosowywania motywów WordPress (WordPress Theme Customizer)

Następnie dodaj następni fragment kodu do swojej witryny:

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

Pamiętaj, że będziesz musiał zastąpić 'yourmenuid' identyfikatorem swojego menu nawigacyjnego.

Selektory „first-child” i „last-child” wybierają pierwszy i ostatni element potomny swojego rodzica, którymi są pierwszy i ostatni element w menu nawigacyjnym.

Na przykład, użyliśmy tego kodu, aby pogrubić pierwsze i ostatnie elementy menu nawigacyjnego na naszym blogu WordPress:

ul#primary-menu-list > li:first-child a {
    font-weight: bold;
}
ul#primary-menu-list > li:last-child a {
    font-weight: bold;
}
Używanie selektorów CSS do innego stylizowania pierwszych i ostatnich pozycji menu

Jeśli używasz motywu blokowego WordPress, to Niestandardowe ustawienia motywu będą brakować w panelu administracyjnym WordPress. Musisz wprowadzić ten adres URL w przeglądarce, aby uzyskać dostęp do Niestandardowych ustawień motywu:

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

Upewnij się, że zastąpiłeś domenę nazwą domeny swojej witryny.

Następnie otwórz zakładkę „Dodatkowy CSS” jak poprzednio i wstaw poniższy kod. Zwróć uwagę, że kod wygląda nieco inaczej, ponieważ nie musisz dodawać identyfikatora swojego menu.

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;
}

Zachęcamy do dostosowania kodu do własnych potrzeb. W poniższym przykładzie zamieniliśmy pierwsze i ostatnie linki w przyciski.

Oto jak to wygląda:

Wstawianie niestandardowego CSS w motywie blokowym do stylowania pierwszego i ostatniego linku nawigacyjnego

Mamy nadzieję, że ten samouczek pomógł Ci dowiedzieć się, jak dodać klasy .first i .last do menu nawigacyjnych WordPress. Możesz również zapoznać się z naszym artykułem jak stworzyć pionowe menu nawigacyjne w WordPressie oraz naszym przewodnikiem dla początkujących tworzenie menu rozwijanego na stronie WordPress.

Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube po samouczki wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak finansowany jest WPBeginner, dlaczego to ważne i jak możesz nas wesprzeć. Oto nasz proces redakcyjny.

Ostateczny zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi – kolekcji produktów i zasobów związanych z WordPress, które powinien mieć każdy profesjonalista!

Interakcje czytelników

19 CommentsLeave a Reply

  1. lekko zmieniłem kod, aby działał również z podmenu:

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

  2. Dzięki za ten fajny kod...

    A co z pierwszym i ostatnim elementem menu podrzędnego?
    Zastosowano tylko dla menu głównego.

    Czy masz jakieś pojęcie o ostatnim elemencie dziecka?

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

  4. W połączeniu z innymi dodatkami do functions.php, które próbowałem, ten kod nie oznacza elementu menu jako pierwszego lub ostatniego elementu menu, gdy znajdują się one w podmenu. Naprawa tego byłaby świetna!

  5. Świetnie! To jest szczególnie interesujące, ponieważ muszę sklasyfikować więcej niż 2 pozycje menu…
    Już rozumiem!

    Dzięki

  6. Dzięki za to! Wybacz, jeśli przeoczyłem – ale – czy jest jakiś przykład menu, aby zobaczyć różnicę w nawigacji stworzonej przez tę klasę? Jeszcze raz dziękuję!

    • Strona, którą zaprojektowaliśmy dla naszego klienta, nie jest jeszcze opublikowana. Ale głównym powodem było to, że chcieliśmy mieć obramowanie po lewej stronie pierwszego elementu menu. Wszystkie inne elementy miały element obramowania po prawej stronie z określonym odstępem i marginesem. Użyliśmy ostatniej klasy, aby usunąć prawy margines i prawe obramowanie, ponieważ nie było takiej potrzeby. Uderzało to w kontener opakowania. Mam nadzieję, że możesz to sobie wyobrazić.

      Administrator

    • Nie myśl, że używasz wp_nav_menu. Wygląda na to, że Twoja strona używa menu zastępczego (fall_back menu), wymieniając wszystkie strony. Czy możesz potwierdzić, że wszedłeś w Wygląd > Menu i tam utworzyłeś menu? Następnie czy przypisałeś to menu jako główną lokalizację??

      Administrator

Leave A Reply

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszą polityką komentowania, a Twój adres e-mail NIE zostanie opublikowany. Proszę NIE używaj słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.