Jak znaleźć, uzyskać dostęp i edytować plik functions.php w WordPress
Opublikowany: 2022-08-23Jeśli dopiero zaczynasz tworzyć WordPressa, jednym z najważniejszych plików, z którymi powinieneś się zapoznać, jest plik functions.php . W rzeczywistości istnieją trzy możliwe pliki functions.php , których możesz użyć w swojej witrynie WordPress, a każdy z nich odgrywa inną rolę. Wiedza o tym, gdzie znajdują się te pliki, jakie jest ich przeznaczenie oraz jak i kiedy je modyfikować, pomoże w rozwiązywaniu problemów i zapewni większą kontrolę nad funkcjonalnością witryny.
W tym artykule omówimy wszystko, co musisz wiedzieć o plikach WordPress functions.php . Dowiesz się, co robi functions.php oraz jak go znaleźć i edytować. Dołączymy nawet kilka przydatnych fragmentów kodu do wypróbowania.
Możesz zacząć od początku i przeczytać lub przeskoczyć do określonej sekcji, korzystając z poniższego spisu treści:
- Co to jest functions.php w WordPressie?
- Gdzie znajduje się plik functions.php ?
- Jak uzyskać dostęp do functions.php
- Uzyskiwanie dostępu do functions.php w interfejsie administratora WordPress
- Dostęp do functions.php przez FTP
- Dostęp do functions.php w twoim cPanel
- Kiedy powinienem edytować functions.php w WordPressie?
- Jak edytować functions.php w WordPressie
- Edycja functions.php w edytorze plików motywów WordPress
- Edycja functions.php za pomocą edytora tekstu
- Edycja functions.php bezpośrednio w cPanel
- Korzystanie z wtyczki do dodawania funkcji do witryny WordPress
- Jak chronić functions.php przed exploitami bezpieczeństwa?
- Jaki kod mogę dodać do functions.php w WordPressie?
- FAQ
- Czy muszę tworzyć motyw potomny, aby edytować functions.php ?
- Jak przywrócić functions.php z kopii zapasowej, jeśli nie mam dostępu do mojego pulpitu WordPress?
- Czy mogę dodać JavaScript do mojego pliku functions.php ?
Co to jest functions.php w WordPressie?
W WordPressie plik functions.php to miejsce, w którym żyje kluczowy kod, który określa sposób działania Twojej witryny. W rzeczywistości w każdej witrynie WordPress znajdują się co najmniej dwa pliki functions.php — jeden dołączony do rdzenia WordPressa i jeden dołączony do motywu. Jeśli używasz motywu potomnego, powinieneś również mieć plik functions.php w folderze motywu potomnego.
Plik functions.php w rdzeniu WordPressa zawiera ważny kod, który jest wymagany do działania WordPressa. Prawie nigdy nie powinieneś modyfikować kodu w pliku functions.php jądra WordPressa.
Plik functions.php Twojego motywu to miejsce, w którym znajdują się wszystkie funkcje Twojej witryny związane z motywem — takie jak niestandardowe lokalizacje menu, obszary widżetów, niestandardowa zawartość i funkcjonalność nagłówka i stopki, długość fragmentu posta i inne.
Plik functions.php Twojego motywu zachowuje się podobnie jak wtyczka WordPress. Różnica polega na tym, że functions.php powinien być używany do kodu, który jest specyficzny dla motywu, podczas gdy wtyczki powinny być używane do funkcji, które pozostaną nawet po przełączeniu motywów.
Gdzie znajduje się plik functions.php ?
Rozmawialiśmy o tym, co plik functions.php robi zarówno w rdzeniu WordPress, jak iw plikach motywów, ale jak znaleźć plik functions.php ? Gdzie jest functions.php w WordPressie?
Wszystkie pliki WordPressa znajdują się w katalogu głównym witryny oraz w różnych podfolderach. Twój katalog główny ma zwykle nazwę public_html lub www , ale może mieć inną nazwę. Jeśli nie masz pewności, gdzie znaleźć folder instalacyjny WordPress na swoim serwerze, skontaktuj się z usługodawcą hostingowym.
Po znalezieniu lokalizacji plików WordPress na serwerze możesz rozpocząć wyszukiwanie plików functions.php . Wspomnieliśmy, że istnieją maksymalnie trzy lokalizacje dla functions.php : rdzeń WordPress, folder motywu i folder motywu podrzędnego. W tej sekcji dowiemy się, gdzie znaleźć każdy z nich.
Gdzie jest functions.php w rdzeniu WordPressa?
Jeśli szukasz lokalizacji functions.php w rdzeniu WordPressa, znajdziesz ją w folderze wp-includes swojej instalacji WordPressa.

Chociaż nigdy nie powinieneś edytować functions.php w rdzeniu WordPress, może się okazać, że będziesz musiał go sprawdzić z tego czy innego powodu. Najbardziej prawdopodobnym scenariuszem grzebania w functions.php w rdzeniu WordPressa jest podejrzenie, że zostało do niego wstrzyknięte złośliwe oprogramowanie.
Zanim nawet otworzysz functions.php , powinieneś zrobić kopię zapasową swojej witryny WordPress na wypadek, gdyby przypadkowo dokonałeś zmiany w pliku, która powoduje błąd krytyczny. Jeśli okaże się, że functions.php został uszkodzony lub zhakowany, prawdopodobnie dotyczy to innych obszarów WordPressa. Najlepszą rzeczą do zrobienia jest po prostu zastąpienie WordPressa nową instalacją, zamiast próbować usuwać wszystkie obraźliwe skrypty jeden po drugim.
Gdzie jest functions.php w moim folderze motywów WordPress?
Plik functions.php Twojego motywu znajduje się w głównym katalogu folderu motywu: wp-content → motywy → Twój motyw .

Gdzie jest functions.php w folderze motywu potomnego WordPress?
Plik motywu potomnego WordPressa functions.php znajduje się w głównym katalogu folderu motywu potomnego: wp-content → motywy → Twój motyw potomny .

Jak uzyskać dostęp do functions.php ?
Wiedza o tym, gdzie mieszka functions.php to tylko połowa pracy. Teraz pojawia się pytanie, jak uzyskać dostęp do functions.php w WordPressie. Podczas gdy do pliku functions.php w rdzeniu WordPress można uzyskać dostęp tylko za pośrednictwem bezpiecznego protokołu przesyłania plików (SFTP) lub przez cPanel, do plików motywu i motywu podrzędnego functions.php można również uzyskać dostęp w edytorze plików motywu WordPress.
Uzyskiwanie dostępu do functions.php w edytorze plików motywów WordPress
Jeśli potrzebujesz dostępu do swojego motywu lub pliku functions.php motywu podrzędnego, możesz to zrobić bezpośrednio z Edytora plików motywu WordPress. Na pulpicie WordPress przejdź do Wygląd → Edytor plików motywów .
Zostaniesz przeniesiony na stronę Edytuj motywy . W tym miejscu w menu rozwijanym obok opcji Wybierz motyw do edycji wybierz motyw i kliknij Wybierz . Zobaczysz listę plików dostępnych do edycji w kolumnie Pliki motywów po prawej stronie ekranu. Kliknij functions.php, aby otworzyć plik.

Jeśli jesteś w pliku functions.php motywu nadrzędnego, na dole ekranu nad przyciskiem Aktualizuj plik zobaczysz ostrzeżenie: „Uwaga: to jest plik w bieżącym motywie nadrzędnym”.
Uwaga: jeśli nie jesteś programistą motywu, powinieneś wprowadzić zmiany w pliku functions.php motywu podrzędnego, aby uniknąć nadpisywania zmian w przyszłych aktualizacjach motywu. |
Dostęp do functions.php przez SFTP
Krok 1: Zainstaluj klienta SFTP. Jeśli nie masz jeszcze klienta SFTP, musisz go pobrać. Istnieje kilka świetnych opcji darmowych i premium, w tym:
Aplikacja | System | Bezpłatna lub Premium |
WinSCP | Okna | Bezpłatny |
Filezilla | Windows, Mac, Linux | Opcje bezpłatne i premium |
Cyberkaczka | Windows, Mac | Bezpłatny |
Przekazać | Prochowiec | Premia |
W tym przykładzie użyjemy Filezilli. Inni klienci SFTP powinni działać w podobny sposób.
Krok 2: Pobierz swoje dane uwierzytelniające SFTP. Aby zalogować się na serwer przez SFTP, potrzebujesz następujących danych:
- Host (adres IP lub URL Twojego serwera)
- Nazwa użytkownika SFTP
- Hasło
- Numer portu
Te szczegóły można zwykle znaleźć w panelu sterowania hostingu. Te informacje mogą zostać wygenerowane dla Ciebie lub Twój host może poprosić Cię o utworzenie nazwy użytkownika i hasła SFTP. Jeśli nie wiesz, gdzie znaleźć te poświadczenia lub masz problem z ich utworzeniem, przeszukaj dokumentację pomocy swojego usługodawcy hostingowego w celu uzyskania instrukcji lub skontaktuj się z jego zespołem pomocy technicznej.
Krok 3: Wprowadź swoje dane uwierzytelniające SFTP.
Wprowadź adres IP lub URL hosta, nazwę użytkownika SFTP, hasło i numer portu (zwykle 22 lub 2222, ale niektóre hosty mogą używać innego portu).

Uwaga: Możesz otrzymać alert „Nieznany klucz hosta”, jeśli Twój klient SFTP używa uwierzytelniania przy pierwszym użyciu (TOFU). Zaznacz „Zawsze ufaj temu hostowi, dodaj ten klucz do pamięci podręcznej”, jeśli planujesz ponownie użyć klienta SFTP do uzyskania dostępu do witryny. Kliknij OK , aby kontynuować.

Krok 4: Przejdź do katalogu głównego witryny.
Po zalogowaniu zobaczysz dwa drzewa plików wyświetlane pod przyciskiem ekranu — jedno po lewej, a drugie po prawej. Po prawej stronie znajduje się lista katalogów na twoim serwerze WWW (zdalnie). Po lewej stronie znajduje się lista katalogów na twoim komputerze (lokalnie).
Twój katalog główny zwykle znajduje się w folderze o nazwie www lub public_html , ale może używać innej nazwy. Jeśli nie masz pewności, w którym folderze szukać, zapytaj swojego dostawcę usług hostingowych. Będziesz wiedział, że jesteś we właściwym folderze, jeśli zobaczysz foldery wp-admin , wp-content i wp-includes u góry listy plików.

Krok 5: Przejdź do functions.php w rdzeniu WordPress, motywie nadrzędnym lub motywie potomnym. Jeśli szukasz functions.php w rdzeniu WordPressa, przejdziesz do folderu wp-includes .
Jeśli szukasz functions.php w swoim katalogu motywów, przejdziesz do wp-content → motywy → twój motyw .
Aby znaleźć plik functions.php motywu potomnego, przejdź do wp-content → motywy → Twój motyw-dziecko.
Krok 6: Pobierz functions.php . Teraz, gdy już wiesz, gdzie znajduje się plik functions.php i masz do niego dostęp, możesz chcieć sprawdzić lub edytować plik. Zanim to zrobisz, musisz go pobrać. Kliknij prawym przyciskiem myszy plik functions.php i wybierz Pobierz . Twój plik zostanie pobrany na komputer lokalny.

Dostęp do functions.php w cPanel
Jeśli twój host używa cPanel, możesz uzyskać dostęp do functions.php za pośrednictwem jego menedżera plików. Jeśli nie wiesz, jak znaleźć cPanel na pulpicie nawigacyjnym hosta, skontaktuj się z obsługą klienta, aby uzyskać pomoc.
Krok 1: Otwórz Menedżera plików cPanel. Gdy znajdziesz się w cPanel, przejdź do sekcji Pliki i kliknij Menedżer plików .
Krok 2: Otwórz folder główny swojej witryny. Folder główny jest powszechnie nazywany www lub public_html , ale może mieć inną nazwę. Konwencje nazewnictwa folderów głównych różnią się na niektórych hostach, więc jeśli nie masz pewności, w którym folderze szukać, zapytaj swojego dostawcę usług hostingowych.
Będziesz wiedział, że jesteś we właściwym folderze, jeśli zobaczysz foldery wp-admin , wp-content i wp-includes u góry listy plików.
Krok 3: Znajdź i pobierz functions.php . Plik functions.php dla rdzenia WordPressa znajduje się w folderze wp-includes .
Plik functions.php Twojego motywu znajduje się w wp-content → motywy → Twój motyw .
Jeśli szukasz pliku functions.php Twojego motywu potomnego, możesz go znaleźć w wp-content → motywy → Twój motyw-dziecko.
Po znalezieniu pliku functions.php , którego szukasz, kliknij prawym przyciskiem myszy functions.php i kliknij Pobierz , lub kliknij raz functions.php , a następnie kliknij opcję Pobierz z górnego menu.

Jeśli zmienisz nazwę pliku podczas jego zapisywania, pamiętaj, aby przywrócić mu nazwę functions.php przed ponownym przesłaniem. A zanim wprowadzisz zmiany i nadpiszesz functions.php , utwórz kopię zapasową swojej witryny WordPress.
Kiedy powinienem edytować functions.php w WordPressie?
Zanim przejdziemy do tego, jak edytować functions.php , powinniśmy porozmawiać o tym , czy i kiedy należy go edytować. Istnieje wiele powodów, dla których możesz chcieć edytować kod PHP w WordPressie, ale dodanie tego kodu do pliku functions.php nie zawsze jest najlepszą opcją i powinno być wykonywane tylko w określonych okolicznościach, które omówimy poniżej.
Kiedy edytować functions.php w rdzeniu WordPress?
Nigdy. Nie powinieneś edytować functions.php w rdzeniu WordPressa. Co najwyżej możesz go zastąpić, jeśli okaże się, że jest uszkodzony, ale usunięcie lub dodanie kodu do core functions.php WordPressa może spowodować uszkodzenie witryny. Możesz więc go otworzyć, sprawdzić, w razie potrzeby zastąpić świeżą kopią, ale nie zadzieraj z żadnymi stronami internetowymi na żywo.
Kiedy edytować functions.php w swoim motywie?
Jeśli chodzi o plik functions.php motywu, możesz go edytować lub nie. Jeśli tworzysz własny motyw, z pewnością będziesz chciał dodać niestandardowy kod do functions.php . Prawie każdy motyw zawiera kod w pliku functions.php , który daje mu unikalny zestaw funkcji i możliwości. Poza arkuszami stylów te funkcje są ogromną częścią tego, co odróżnia jeden motyw od drugiego.
Jeśli dodajesz kod do pliku functions.php motywu, który nie jest specyficzny dla motywu i może być używany niezależnie od motywu, rozważ utworzenie wtyczki. W ten sposób możesz korzystać z tej funkcji w wielu motywach, a nawet przesłać ją do biblioteki wtyczek WordPress.org, gdzie może przynieść korzyści innym użytkownikom WordPress.
Przed utworzeniem wtyczki sprawdź bibliotekę wtyczek, aby upewnić się, że to, co tworzysz, już nie istnieje. Jeśli istnieje już rozwiązanie wysokiej jakości, możesz chcieć zaoszczędzić energię na opracowywaniu innej niestandardowej funkcji w witrynie.
Kiedy edytować functions.php w motywie potomnym?
Jeśli używasz motywu od programisty i chcesz zmodyfikować plik functions.php , zawsze powinieneś używać motywu potomnego, aby wprowadzić te zmiany. Gdy twórcy motywów wydadzą nową wersję swojego motywu, a Ty zaktualizujesz go do najnowszej, Twój aktualny motyw zostanie nadpisany przez nowe pliki — w tym functions.php .
Aktualizacje motywu nadrzędnego nie mają wpływu na motywy potomne, więc zachowasz cały kod niestandardowy, jeśli dokonasz zmian w pliku functions.php motywu potomnego.
Przed dodaniem kodu zastanów się, czy użycie wtyczki nie byłoby lepszym rozwiązaniem. Czy kod, który dodajesz, dotyczy Twojego motywu? Edytuj plik functions.php motywu podrzędnego. Czy dodawany kod jest czymś, co nadal chcesz mieć, jeśli zmienisz motywy w przyszłości (np. kod śledzenia Google Analytics lub piksel Facebooka)? Użyj wtyczki.
Jak edytować functions.php w WordPressie
Zawsze powinieneś podejmować kroki, aby chronić swoją witrynę przed wszelkimi błędami, które możesz popełnić podczas edycji functions.php . Dlatego zanim zaczniesz wprowadzać zmiany, utwórz kopię zapasową swojej witryny i rozważ utworzenie witryny tymczasowej, aby najpierw je przetestować. W ten sposób Twoja działająca witryna nie zostanie zakłócona, jeśli przypadkowo dodasz kod do functions.php , który powoduje poważne problemy lub – co gorsza – całkowicie zawiesza witrynę.
Teraz, po utworzeniu kopii zapasowej witryny, możesz przejść do edycji pliku functions.php .
Jak edytować functions.php w edytorze plików motywów WordPress
Edytowanie pliku functions.php w edytorze plików motywu WordPress jest trochę ryzykowne. Jeśli używasz tego narzędzia, ponieważ nie masz dostępu do cPanel lub SFTP, będziesz w dość złej sytuacji, jeśli Twoje zmiany spowodują błąd krytyczny, który uniemożliwi Ci dostęp do pulpitu WordPress.
Jeśli chcesz edytować plik functions.php w edytorze plików motywu, upewnij się, że masz bezpośredni dostęp do serwera i kopii zapasowych, aby móc szybko przywrócić plik kopii zapasowej.
Edytor plików motywów WordPress znajdziesz w sekcji Wygląd → Edytor plików motywów w panelu administracyjnym WordPress.
Zostaniesz przeniesiony do ekranu Edytuj motywy, gdzie należy wybrać motyw podrzędny, a następnie wybrać plik functions.php z kolumny Pliki motywów po prawej stronie ekranu.

Jeśli zamiast tego wybierzesz motyw nadrzędny, na dole ekranu pojawi się ostrzeżenie „ Uwaga: to jest plik w bieżącym motywie nadrzędnym”. Nie chcesz dokonywać zmian w pliku functions.php motywu nadrzędnego, ponieważ Twoje zmiany zostaną nadpisane przy następnej aktualizacji motywu.
Jeśli widzisz w pliku funkcje, których nie rozumiesz, WordPress zawiera przydatną funkcję wyszukiwania dokumentacji tuż nad przyciskiem Aktualizuj plik . Kliknij menu rozwijane i wyszukaj nazwę funkcji, o której chcesz dowiedzieć się więcej, a następnie kliknij przycisk Wyszukaj . Zostaniesz przekierowany do dokumentacji WordPress.org dla tej funkcji.
Po zakończeniu wprowadzania zmian kliknij Aktualizuj plik . Sprawdź przód i tył swojej witryny, aby upewnić się, że wszystko działa zgodnie z przeznaczeniem. Jeśli napotkasz błąd krytyczny i musisz przywrócić functions.php z kopii zapasowej, możesz to zrobić w cPanel lub przez SFTP.
Edycja functions.php za pomocą edytora tekstu
Najlepszym sposobem na edycję functions.php jest wybrane oprogramowanie do edycji kodu. Ponieważ edytujesz kopię offline na komputerze lokalnym, nie musisz mieć połączenia z internetem, aby pracować nad plikiem. Będziesz mieć również większą kontrolę nad tym, kiedy wprowadzasz zmiany w opublikowanej witrynie.
Możesz edytować swój kod w dowolnym momencie i przesyłać zmiany w czasie, gdy Twoja witryna zwykle ma najmniejszy ruch. W ten sposób, jeśli wystąpią jakiekolwiek problemy, wpłynie to na najmniejszą liczbę odwiedzających.
Krok 1: Otwórz functions.php w edytorze tekstu. Jeśli nie znasz się na korzystaniu z edytora tekstu, masz do wyboru kilka bezpłatnych opcji.
Darmowy kod źródłowy i edytory zwykłego tekstu:
Aplikacja | System |
Notatnik++ | Okna |
Atom.io | Windows, Mac, Linux |
Wzniosły | Windows, Mac, Linux |
TekstEdytuj *upewnij się, że jesteś w trybie zwykłego tekstu | Mac (domyślna aplikacja) |
Notatnik | Windows (aplikacja domyślna) |
Krok 2: Edytuj functions.php i zapisz na swoim lokalnym komputerze. Twój wyświetlacz może wyglądać inaczej w zależności od programu używanego do edycji pliku functions.php . Tak wygląda kod PHP w atom.io:

Dodaj lub zmień potrzebne informacje, a następnie zapisz plik.
Krok 3: Zaloguj się do serwera WWW przez SFTP lub cPanel. Przejdź do folderu motywu lub motywu podrzędnego i znajdź plik functions.php .
Krok 4: Zmień nazwę pliku functions.php na swoim serwerze WWW. Jeśli edytowana wersja zawiera błędy, nie chcesz nadpisywać oryginalnego pliku functions.php . Oczywiście utworzyłeś kopię zapasową, ale zamiast pobierać plik functions.php z kopii zapasowej, będziesz mieć pod ręką swój oryginalny plik.
Chcesz mieć możliwość szybkiego przywrócenia pliku functions.php , jeśli coś pójdzie nie tak, więc zmiana jego nazwy na coś takiego jak „functions-orginal.php” zapewni, że zawartość oryginalnego pliku zostanie zachowana na twoim serwerze.

Krok 5: Prześlij functions.php z komputera lokalnego na serwer WWW. Za pomocą SFTP lub cPanel prześlij plik functions.php do głównego katalogu motywu lub motywu podrzędnego.
Krok 6: Odwiedź swoją witrynę, aby upewnić się, że działa poprawnie. Po przesłaniu pliku functions.php powinieneś upewnić się, że wszystko działa w Twojej witrynie. Odwiedź frontend i zaloguj się do pulpitu WordPress, aby upewnić się, że wszystko jest dostępne, wyświetla się i działa poprawnie.

Krok 7: Usuń stary plik functions.php o zmienionej nazwie . Po ustaleniu, że witryna działa poprawnie, możesz usunąć functions-original.php (lub inną nazwę, którą zmieniłeś). Jeśli natrafisz na jakiś problem, nadal powinieneś mieć plik functions.php z utworzonej kopii zapasowej.
Edycja functions.php bezpośrednio w cPanel
Jeśli nie masz lub nie chcesz używać edytora kodu źródłowego, możesz edytować functions.php bezpośrednio w cPanel (jeśli twój host korzysta z cPanel). Podobnie jak edycja w edytorze plików motywów WordPress, jest to trochę bardziej ryzykowne niż praca na komputerze lokalnym. Jeśli Twoje połączenie internetowe zostanie przerwane podczas edytowania, możesz utracić wprowadzone zmiany. Istnieje również ryzyko potencjalnego nadpisania oryginalnego pliku functions.php .
Krok 1: Znajdź functions.php w cPanel. W cPanel kliknij Menedżer plików .
Przejdź do folderu głównego (zwykle public_html lub www , ale może mieć inną nazwę).
Krok 2: Utwórz kopię functions.php . W menu głównym Menedżera plików kliknij + Folder , aby dodać nowy folder. Będziesz chciał zrobić kopię swojego pliku functions.php i zapisać go tutaj jako kopię zapasową.
Nazwij swój nowy folder w sposób łatwy do zidentyfikowania, np. „funkcje kopii zapasowej”, aby móc go później łatwo znaleźć. Kliknij opcję Utwórz nowy folder .

Krok 3: Znajdź functions.php w folderze motywu lub motywu podrzędnego i skopiuj go do folderu kopii zapasowej. W folderze motywu lub motywu potomnego przewiń w dół do functions.php i kliknij prawym przyciskiem myszy nazwę pliku. Wybierz Kopiuj .

Pojawi się okno dialogowe z prośbą o podanie ścieżki, do której chcesz skopiować plik. Ścieżka do folderu, w którym się aktualnie znajdujesz, będzie wstępnie wypełniona, więc jeśli ścieżka pliku do folderu kopii zapasowej różni się od widocznej, wpisz poprawną ścieżkę. Kliknij opcję Kopiuj plik(i) .
Krok 4: Przejdź z powrotem do functions.php w katalogu motywu lub motywu potomnego. Teraz, gdy masz kopię zapasową, możesz wrócić do pliku functions.php w katalogu motywu lub motywu potomnego i rozpocząć edycję.
Kliknij prawym przyciskiem na functions.php , a następnie kliknij Edytuj .
Krok 5: Edytuj functions.php . Powinieneś teraz zobaczyć zawartość swojego pliku functions.php na ekranie. Powinno to wyglądać mniej więcej tak:

Dodaj lub zmień potrzebne informacje, a następnie zapisz plik.
Korzystanie z wtyczki do dodawania funkcji do witryny WordPress
Zamiast bezpośrednio modyfikować plik functions.php , możesz użyć wtyczki, takiej jak Code Snippets, aby dodać funkcje do swojej witryny. Jeśli chcesz dodać do swojej witryny sporą liczbę funkcji, możesz łatwo stracić orientację, które funkcje nadal są Ci potrzebne, a których nie.
Fragmenty kodu zapewniają graficzny interfejs użytkownika (GUI) do zarządzania blokami kodu PHP. Możesz dodawać opisy, aby wiedzieć, co ma robić kod, oraz włączać i wyłączać bloki kodu, podobnie jak aktywacja i dezaktywacja wtyczki.
Ponieważ nie wprowadzasz zmian w functions.php , jest to o wiele bezpieczniejsza metoda dodawania funkcji PHP do witryny WordPress.
Jak chronić functions.php przed exploitami bezpieczeństwa?
Plik functions.php jest często celem hakerów, więc dbanie o jego bezpieczeństwo powinno mieć wysoki priorytet. Wykonaj następujące kroki, aby zabezpieczyć plik functions.php :
1. Zainstaluj wtyczkę bezpieczeństwa
Korzystając z wtyczki zabezpieczającej, będziesz cieszyć się zaawansowaną ochroną przed hakerami w wielu obszarach witryny.
Jetpack Security to niedroga opcja, która pomaga chronić Twoją witrynę przed złośliwymi atakami. Obejmuje skanowanie w poszukiwaniu złośliwego oprogramowania i poprawki jednym kliknięciem, ochronę przed atakami brute force, monitorowanie przestojów, dziennik aktywności, dzięki któremu wiesz, czy i kiedy Twoja witryna została zhakowana, oraz ochronę logowania za pomocą uwierzytelniania dwuskładnikowego (2FA).

Jetpack Security monitoruje również Twoją witrynę pod kątem wszelkich zmian w podstawowych plikach WordPress, przestarzałych lub niezabezpieczonych wtyczkach i innych luk w zabezpieczeniach, dzięki czemu możesz je złapać, zanim haker je znajdzie i wykorzysta.
Ponadto zapewnia kopie zapasowe WordPress w czasie rzeczywistym, dzięki czemu możesz szybko przywrócić czystą wersję, jeśli coś pójdzie nie tak — nawet jeśli nie możesz zalogować się do swojej witryny.
2. Odmów dostępu do podstawowych funkcji WordPress.php za pośrednictwem . plik htaccess
Jeśli Twoja witryna jest hostowana na serwerze Apache, możesz użyć . htaccess , aby chronić podstawowy plik functions.php WordPressa, blokując dostęp do całego folderu wp-includes .
Krok 1: Pobierz .htaccess
Korzystając z SFTP lub cPanel, przejdź do folderu głównego swojej witryny. Kliknij prawym przyciskiem myszy . htaccess i wybierz Pobierz , aby pobrać plik na komputer lokalny.
Krok 2: Dodaj kod, aby zablokować dostęp do folderu wp-includes
W kodzie źródłowym lub edytorze zwykłego tekstu otwórz . htaccess i dodaj następujący kod:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule>
Zapisz swój plik. Upewnij się, że program edytora nie zawiera rozszerzenia pliku. Jeśli używasz Notepad ++ lub Text Edit, może dodać rozszerzenie pliku .txt. Plik powinien mieć po prostu nazwę „.htaccess”.
Krok 3: Prześlij edytowany . htaccess z powrotem do katalogu głównego
Prześlij edytowane . htaccess z powrotem do folderu głównego witryny. Zostaniesz zapytany, czy chcesz nadpisać istniejący plik. Kliknij OK .
Teraz twój . Plik htaccess powinien blokować zewnętrzny dostęp do wszelkich plików w twoim folderze wp-includes , w tym functions.php .
3. Odmów dostępu do functions.php za pomocą functions.php
Możesz zablokować bezpośredni dostęp do pliku functions.php , dodając następujący fragment kodu bezpośrednio do functions.php .
if (!empty($_SERVER['SCRIPT_FILENAME']) && 'functions.php' == basename($_SERVER['SCRIPT_FILENAME'])) { die ('Access denied!'); }
4. Ukryj functions.php poza katalogiem głównym
Hakerzy znają domyślną lokalizację wszystkich standardowych plików WordPress. Zmiana lokalizacji poufnych plików na folder o ograniczonym dostępie poza katalogiem głównym może sprawić, że będzie on niedostępny dla hakerów. Ten proces jest nieco bardziej złożony niż tylko dodanie kodu do pliku .htaccess , ale warto poświęcić dodatkowy wysiłek, aby uzyskać dodatkową warstwę ochrony witryny.
W zaledwie kilku krokach możesz zabezpieczyć functions.php poza folderem głównym.
Krok 1: Pobierz aktualny plik functions.php
Jeśli przenosisz plik functions.php swojego motywu, znajdziesz go w wp-content → motywy → twój motyw . Plik Twojego motywu potomnego będzie w wp-content → motywy → Twój motyw-dziecko .
Po znalezieniu pliku functions.php pobierz go na komputer przez SFTP lub cPanel.
Krok 2: Utwórz nowy katalog poza folderem głównym
Przejdź poza katalog główny do następnego poziomu folderu plików. Powinieneś zobaczyć nazwę swojego folderu głównego, a także kilka innych folderów. W tym katalogu kliknij prawym przyciskiem myszy i wybierz Utwórz katalog .

Nadaj swojemu katalogowi nazwę, która jest łatwa do zapamiętania jako lokalizacja pliku functions.php .
Krok 3: Prześlij functions.php do nowego folderu
Prześlij pobrany wcześniej plik functions.php do nowego folderu przez SFTP lub cPanel.

Sprawdź nowe uprawnienia do folderów i plików functions.php i upewnij się, że są ustawione na 600.

Krok 4: Wskaż WordPressowi nowy plik functions.php
Powinieneś mieć plik functions.php w nowym katalogu, a także oryginalny plik functions.php , który nadal znajduje się w folderze motywu. Aby WordPress mógł znaleźć i użyć właściwego pliku, musisz usunąć wszystkie informacje z pliku functions.php Twojego motywu oraz następujący fragment kodu:
<?php include('/home3/usr/securefunctions/functions.php'); ?>
Uwaga: ścieżka pliku będzie wyglądać inaczej, ponieważ będziesz używać nazw katalogów serwera.
W cPanel możesz otworzyć plik functions.php katalogu głównego i edytować go bezpośrednio lub możesz edytować kopię pobraną wcześniej na komputer lokalny za pomocą edytora kodu źródłowego. W tym przykładzie zmodyfikowaliśmy kopię pobraną wcześniej za pomocą Atom.io.
Zapisz plik funtions.php i prześlij go z powrotem do katalogu motywów.

Zostaniesz zapytany, czy chcesz nadpisać plik. Kliknij OK .
Teraz WordPress powinien odwoływać się do nowego pliku functions.php w bezpiecznej lokalizacji poza folderem głównym.
4. Zmień nazwę swojego pliku functions.php
Zmiana nazwy pliku functions.php to kolejny krok, który możesz podjąć, aby zabezpieczyć go przed hakerami. Musisz umieścić ten plik poza folderem głównym, więc jeśli śledziłeś proces w Ukryj functions.php poza katalogiem głównym , będziesz musiał wykonać tylko kilka dodatkowych kroków.
Krok 1: W swoim bezpiecznym katalogu poza folderem głównym zmień nazwę pliku functions.php
Przejdź do folderu functions.php znajdującego się poza katalogiem głównym i zmień nazwę pliku na coś unikalnego, np . „keep-out.php” lub „to nie są funkcje, których szukasz”. php' . Ok, ten ostatni jest trochę długi, ale tak naprawdę nie ma znaczenia, jak go nazwiesz, o ile umieścisz go w ścieżce pliku w kopii folderu motywu functions.php .
Krok 2: Edytuj kod w functions.php w katalogu głównym, aby odzwierciedlić zmianę nazwy
Teraz, gdy zmieniłeś nazwę na inną niż functions.php , musisz upewnić się, że kopia katalogu z motywami functions.php wskazuje na właściwą nazwę pliku.
Pobierz kopię folderu głównego functions.php na swój komputer lokalny i edytuj ją za pomocą edytora tekstu. Zmień nazwę pliku functions.php na nową nazwę pliku, a następnie zapisz plik.
<?php include('/home3/usr/secureconfig/keep-out.php'); ?>
Krok 3: Prześlij functions.ph p z powrotem do katalogu motywów
Zostaniesz zapytany, czy chcesz nadpisać istniejący plik. Kliknij OK .
Teraz WordPress powinien wskazywać plik funkcji o zmienionej nazwie.
Dodatkowe warstwy bezpieczeństwa dla functions.php
Możesz dodać dodatkową ochronę do swojej witryny jako całości, w tym do pliku functions.php , wprowadzając podobne zmiany w pliku wp-config , takie jak zmiana jego nazwy, hostowanie go poza katalogiem głównym i odmawianie publicznego dostępu.
Jeśli widzisz podejrzany kod w plikach functions.php i obawiasz się, że już zostałeś zhakowany, przeczytaj, jak wykrywać i usuwać złośliwe oprogramowanie z witryny WordPress.
Jaki kod mogę dodać do functions.php w WordPressie?
Istnieje wiele różnych fragmentów kodu, które można dodać do pliku functions.php WordPressa. Jednak często lepiej służy Ci użycie wtyczki (lub napisanie własnej wtyczki) dla wielu funkcji. Jeśli kod, który chcesz dodać, jest specyficzny dla twojego motywu, możesz dodać ten kod PHP do pliku functions.php motywu podrzędnego.
Poniżej znajduje się garść przydatnych funkcji, które możesz wstawić do pliku functions.php motywu potomnego:
Dodawanie nowego administratora w functions.php
Jeśli utraciłeś dostęp administratora do pulpitu WordPress i nie możesz odzyskać nazwy użytkownika lub hasła za pośrednictwem poczty e-mail, możesz utworzyć nowego administratora za pośrednictwem swojego konta hostingowego. Za pośrednictwem SFTP lub cPanel możesz pobrać plik functions.php i dodać następujący kod, aby utworzyć nowego administratora swojej witryny.
function qode_add_new_admin_account() { $user = 'your-username'; $password = 'your-password'; $email = 'your-email'; if ( ! username_exists( $user ) && ! email_exists( $email ) ) { $user_id = wp_create_user( $user, $password, $email ); $user = new WP_User( $user_id ); $user->set_role( 'administrator' ); } } add_action( 'init', 'qode_add_new_admin_account' );
W powyższym kodzie zastąp „twoja-nazwa użytkownika”, „twoje-hasło” i „twój-e-mail” własnymi danymi uwierzytelniającymi. Zapisz plik functions.php i ponownie prześlij go do folderu motywu. Spowoduje to utworzenie nowego administratora z nazwą użytkownika, hasłem i adresem e-mail, które przypisałeś w kodzie.
Po przesłaniu pliku przejdź do strony logowania do witryny i użyj nowej nazwy użytkownika i hasła, aby się zalogować. Po pomyślnym zalogowaniu i potwierdzeniu posiadania uprawnień administratora należy usunąć kod dodany do utwórz nowe konto administratora z functions.php .
Dodawanie i usuwanie rozmiarów obrazów w functions.php
Gdy przesyłasz obraz do Biblioteki multimediów WordPress, generowanych jest wiele odmian Twojego obrazu. WordPress ma domyślne miniatury, małe, średnie i duże rozmiary, które są używane oprócz obrazu w pełnym rozmiarze. Twój motyw będzie zazwyczaj pobierał optymalny rozmiar obrazu dla poszczególnych części witryny.
Jeśli tworzysz własny motyw lub musisz dokonać modyfikacji motywu podrzędnego, aby uwzględnić dodatkowe niestandardowe rozmiary obrazów, możesz to zrobić w pliku functions.php .
Użyj poniższego kodu i zmień nazwę niestandardowego rozmiaru obrazu z „niestandardowy-mały-kwadrat” i „niestandardowy-krajobraz” na dowolną nazwę, której chcesz użyć. Liczby obok nazwy niestandardowego rozmiaru obrazu reprezentują rozmiar obrazu w pikselach, więc wprowadź wartości w pikselach, zaczynając od szerokości i jako drugiej wysokości.
function register_custom_image_sizes() { if ( ! current_theme_supports( 'post-thumbnails' ) ) { add_theme_support( 'post-thumbnails' ); } add_image_size( 'custom-small-square', 450, 450, true ); add_image_size( 'custom-landscape', 1000, 600 ); } add_action( 'after_setup_theme', 'register_custom_image_sizes' );
Keep in mind that additional custom image sizes can weigh down your site and impact load times. If you have some WordPress default image sizes that your theme doesn't use, you may want to delete and disable those to make room for your custom sizes.
If you want to disable WordPress default image sizes, you can place this code snippet into your functions.php file:
add_filter( 'intermediate_image_sizes_advanced', 'prefix_remove_default_images' ); // This will remove the small, medium, and large default image sizes. function prefix_remove_default_images( $sizes ) { unset( $sizes['small']); // 150px unset( $sizes['medium']); // 300px unset( $sizes['large']); // 1024px return $sizes; }
If you only need to disable one or two sizes, you can only add those sizes to the code above and delete the code that you don't need.
Use functions.php to allow additional file types in uploads
WordPress only allows a few different file types to be uploaded in your WordPress dashboard. This is a reasonable security measure, but you might encounter a situation where you need to upload a file type that's not natively allowed.
To add more allowed file types to WordPress, add the following code to your child theme's functions.php :
function additional_upload_file_types($mime_types){ $mime_types['stl''] = 'application/sla'; $mime_types['stl'] = 'application/vnd.ms-pki.stl'; $mime_types['stl'] = 'application/x-navistyle'; return $mime_types; } add_filter('upload_mimes', 'additional_upload_file_types', 1, 1);
For the above example, we used the stl file type, which is a CAD file type. It's an unusual file type to upload to a website outside of certain niche industries, but if your site is for an industrial designer, engineering firm, or even an orthodontics lab, you might find the ability to upload STL files really useful.
You can replace the $mime_type variable with whatever file extension suits the needs of your website. You'll also need to include the media type and subtype after that (eg 'application/sla' or 'image/octet-stream'). Here's a complete list of mime types that you can refer to.
Frequently asked questions about editing the functions.php file in WordPress
We've covered what the functions.php file is, how to find functions.php , how to access it, how to edit it, and a few code snippets you can add to your functions.php file. We'll wrap things up with a few helpful answers to frequently asked questions.
Do I really need to use a child theme to edit functions.php ?
Krótka odpowiedź? TAk.
If you're a theme developer, you'll definitely want to add your theme-specific functions directly to your theme's functions.php file. If you're modifying a theme from another developer that will get regular updates, however, you'll absolutely want to use functions.php within a child theme.
Most theme developers will periodically make updates to their themes for security and performance reasons, or to add new features. If you change the parent theme's functions.php file, those changes will all be overwritten when you update to your theme's latest version. All your hard work and customizations — poof! Gone.
Child themes aren't touched when the parent theme updates, so if you make changes to your child theme's functions.php file, your changes will be preserved any time you update your parent theme.
I edited functions.php and now I don't have access to my WordPress dashboard. Pomoc!
In the unfortunate event that you edited the functions.php file and caused a critical error on your site that kept you from accessing the WordPress dashboard, don't worry — all is not lost!
There are a few things you can do to restore access to your site. You can edit functions.php via SFTP and a text editor or directly in cPanel if you know which bit of code caused the issue. Alternatively, you can restore functions.php from a backup or download a fresh copy of functions.php from your theme developer.
I know what code I messed up. I just need to access and edit functions.php to fix it.
See How to edit functions.php above for instructions on how to access and edit your theme or child theme's functions.php file.
I have no clue what I did to my functions.php file, but I have a backup.
If you have a backup on hand, you can access your files either on your web host's server or your remote server (depending on where you have opted to store these files), and use them to replace your corrupt functions.php file via SFTP or cPanel.
If you feel more comfortable restoring your entire site backup rather than trying to restore just the functions.php file, our article, “How to Restore WordPress from a Backup” goes in depth on the different methods you can use to restore your WordPress site.
I have no idea what code caused the problem and I didn't make a backup.
If you don't have a backup, you can download a fresh copy of the theme you're using from your theme developer, extract the functions.php file, and overwrite the broken functions.php file on your server via SFTP or cPanel.
Note: If you're using a theme that hasn't been updated in awhile, you may encounter issues in overwriting functions.php with a version that's from a much more recent update. If you encounter issues, you might be better off just manually updating your entire theme to the latest version. Alternatively, you can contact your theme developer to get the theme files for your current version and use that version of functions.php .
Can I add JavaScript to my functions.php file?
Yes, you can add code to your functions.php file that will add your custom JavaScript to either specific pages, posts, or all pages and posts on your site. This article covers all the different ways you can add JavaScript to your functions.php file.