Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
WPB Cup
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 niestandardowego stylu 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 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 zamiast tego.

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: Czy chcesz wyróżnić jakiś element menu na swojej stronie? Sprawdź nasz poradnik jak wyróżnić element menu w WordPress, 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 tutorialach WordPress 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 przydatne.

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 darmowej wtyczki WPCode. Więcej szczegółów znajdziesz w naszym przewodniku 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 unikalnego stylu do tych elementów w swoim niestandardowym menu nawigacyjnym.

Aby to zrobić, musisz dodać drugi fragment kodu do swojej strony internetowej WordPress. Na początek utwórz nowy niestandardowy fragment kodu, wykonując ten sam proces, który opisano 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ą stronę, zobaczysz nowo stylizowane menu na żywo.

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 Twojej strony WordPress w różnych przeglądarkach.

Aby zastosować tę metodę, musisz dodać kod do arkusza stylów swojego motywu lub do sekcji „Dodatkowy CSS” w Narzędziu do dostosowywania motywów WordPress.

Jeśli jeszcze tego nie zrobiłeś, 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ą pierwszego i ostatniego potomka swojego rodzica, którymi są pierwsze i ostatnie elementy 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 Personalizator motywu będzie brakować w panelu administracyjnym WordPress. Musisz wpisać ten adres URL w przeglądarce, aby uzyskać dostęp do Personalizatora 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 na temat tworzenia pionowego menu nawigacyjnego w WordPress oraz naszym przewodnikiem dla początkujących na temat tworzenia 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 w 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ć.

      Admin

Zostaw odpowiedź

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. Prosimy NIE używać słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.