Cum să găsiți, să accesați și să editați funcțiile.php în WordPress
Publicat: 2022-08-23Dacă tocmai ați început cu dezvoltarea WordPress, unul dintre cele mai importante fișiere cu care ar trebui să vă familiarizați este fișierul functions.php . Există de fapt trei posibile fișiere functions.php pe care le-ați putea folosi pe site-ul dvs. WordPress și fiecare joacă un rol diferit. Știind unde se află aceste fișiere, care este scopul lor și cum și când să le modificați, vă va ajuta la depanarea problemelor și vă va oferi mai mult control asupra funcționalității site-ului dvs.
În acest articol, vom acoperi tot ce trebuie să știți despre fișierele WordPress functions.php . Veți învăța ce face functions.php și cum să îl găsiți și să îl editați. Vom include chiar și câteva fragmente de cod utile pentru a le încerca.
Puteți începe de la început și puteți citi sau trece la o anumită secțiune folosind cuprinsul de mai jos:
- Ce este functions.php în WordPress?
- Unde se află fișierul functions.php ?
- Cum se accesează functions.php
- Accesarea functions.php în interfața de administrare WordPress
- Accesarea functions.php prin FTP
- Accesarea functions.php în cPanelul tău
- Când ar trebui să editez functions.php în WordPress?
- Cum se editează functions.php în WordPress
- Editarea functions.php în Editorul de fișiere de teme WordPress
- Editarea functions.php cu un editor de text
- Editarea functions.php direct in cPanel
- Folosind un plugin pentru a adăuga funcții site-ului dvs. WordPress
- Cum să protejați functions.php de exploatările de securitate
- Ce cod pot adăuga la functions.php în WordPress?
- FAQ
- Trebuie să creez o temă copil pentru a edita functions.php ?
- Cum refac functions.php dintr-o copie de rezervă dacă nu am acces la tabloul de bord WordPress?
- Pot adăuga JavaScript în fișierul meu functions.php ?
Ce este functions.php în WordPress?
În WordPress, fișierul functions.php este locul în care se află codul vital care determină modul în care funcționează site-ul tău. Există de fapt cel puțin două fișiere functions.php în fiecare site web WordPress - unul inclus cu nucleul WordPress și unul inclus cu tema dvs. Dacă utilizați o temă copil, ar trebui să aveți și un functions.php în folderul cu tema copil.
Fișierul functions.php din nucleul WordPress conține cod important necesar pentru funcționarea WordPress. Nu ar trebui să modificați aproape niciodată codul din fișierul functions.php al WordPress core.
Fișierul functions.php al temei dvs. este locul în care trăiesc toate caracteristicile specifice temei ale site-ului dvs. web - cum ar fi locații personalizate pentru meniuri, zone widget, conținut și funcționalitate personalizate pentru antet și subsol, lungimea extrasului postării și multe altele.
Fișierul functions.php al temei dumneavoastră se comportă în același mod ca un plugin WordPress. Diferența este că functions.php ar trebui să fie folosit pentru codul specific temei, în timp ce pluginurile ar trebui să fie folosite pentru funcționalitatea care va rămâne chiar și atunci când schimbați teme.
Unde se află fișierul functions.php ?
Am vorbit despre ce face fișierul functions.php atât în nucleul WordPress, cât și în fișierele de temă, dar cum găsești fișierul functions.php ? Unde este functions.php în WordPress?
Toate fișierele dvs. WordPress sunt localizate în directorul rădăcină al site-ului dvs. și în diferite subdosare. Directorul rădăcină este de obicei numit public_html sau www , dar poate avea un alt nume. Dacă nu sunteți sigur unde să găsiți folderul de instalare WordPress pe serverul dvs., contactați gazda dvs. web.
După ce ați găsit unde se află fișierele dvs. WordPress pe serverul dvs., puteți începe să căutați fișierele functions.php . Am menționat că există până la trei locații pentru functions.php : nucleul WordPress, folderul cu teme și folderul cu tema copilului. În această secțiune vom trece peste unde să le găsim pe fiecare.
Unde este functions.php în nucleul WordPress?
Dacă căutați locația functions.php în nucleul WordPress, o veți găsi în folderul wp-includes al instalării dvs. WordPress.

Deși nu ar trebui să editați niciodată functions.php în nucleul WordPress, este posibil să aveți nevoie să-l inspectați dintr-un motiv sau altul. Scenariul cel mai probabil pentru a căuta în functions.php în miezul WordPress este dacă bănuiți că a fost injectat malware în el.
Înainte chiar de a deschide functions.php , ar trebui să faceți o copie de rezervă a site-ului dvs. WordPress în cazul în care faceți accidental o modificare a fișierului care provoacă o eroare critică. Dacă descoperiți că functions.php a fost corupt sau piratat, este posibil să aveți alte zone ale WordPress afectate. Cel mai bun lucru de făcut este pur și simplu să înlocuiți WordPress cu o instalare nouă, mai degrabă decât să încercați să eliminați toate scripturile ofensatoare unul câte unul.
Unde este functions.php în folderul meu cu teme WordPress?
Fișierul functions.php al temei dvs. se află în directorul principal al folderului temei: wp-content → themes → yourtheme .

Unde este functions.php în folderul cu teme copil WordPress?
Fișierul WordPress cu tema child functions.php se află în directorul principal al folderului cu tema copil: wp-content → themes → yourtheme-child .

Cum accesez functions.php ?
A ști unde locuiește functions.php este doar jumătate din treabă. Acum vine întrebarea cum să accesezi functions.php în WordPress. În timp ce fișierul functions.php din nucleul WordPress poate fi accesat numai prin protocolul securizat de transfer de fișiere (SFTP) sau prin cPanel, fișierele cu tema și tema secundară functions.php pot fi accesate și în Editorul de fișiere de teme WordPress.
Accesarea functions.php în Editorul de fișiere de teme WordPress
Dacă trebuie să accesați fișierul functions.php al temei sau al temei secundare, puteți face acest lucru direct din Editorul de fișiere de teme WordPress. În tabloul de bord WordPress, accesați Aspect → Editor de fișiere tematice .
Veți fi direcționat la pagina Editați teme . De aici, sub meniul drop-down de lângă Selectați tema de editat , alegeți tema și faceți clic pe Selectați . Veți vedea o listă de fișiere disponibile pentru editare în coloana Fișiere cu teme din extrema dreaptă a ecranului. Faceți clic pe functions.php pentru a deschide fișierul.

Dacă vă aflați în fișierul functions.php al temei părinte, veți vedea o notificare de avertizare în partea de jos a ecranului deasupra butonului Actualizare fișier care spune „Atenție: Acesta este un fișier din tema părinte actuală”.
Notă: Dacă nu sunteți dezvoltatorul temei, ar trebui să faceți modificările în fișierul functions.php al temei copilului pentru a evita suprascrierea modificărilor în viitoarele actualizări ale temei. |
Accesarea functions.php prin SFTP
Pasul 1: Instalați clientul SFTP. Dacă nu aveți deja un client SFTP, va trebui să descărcați unul. Există câteva opțiuni excelente gratuite și premium, inclusiv:
Aplicație | Sistem | Gratuit sau Premium |
WinSCP | Windows | Gratuit |
Filezilla | Windows, Mac, Linux | Opțiuni gratuite și premium |
Cyberduck | Windows, Mac | Gratuit |
Transmite | Mac | Premium |
În acest exemplu, vom folosi Filezilla. Alți clienți SFTP ar trebui să funcționeze într-un mod similar.
Pasul 2: Preluați acreditările SFTP. Pentru a vă conecta la server prin SFTP, veți avea nevoie de următoarele detalii:
- Gazdă (adresa IP sau adresa URL a serverului dvs.)
- Nume de utilizator SFTP
- Parola
- Numarul portului
Aceste detalii pot fi găsite de obicei în panoul de control al găzduirii. Aceste informații pot fi generate pentru dvs. sau gazda dvs. vă poate solicita să creați un nume de utilizator și o parolă SFTP. Dacă nu știți unde să găsiți aceste acreditări sau aveți dificultăți în a afla cum să le creați, căutați instrucțiuni în documentația de ajutor a gazdei sau contactați echipa de asistență.
Pasul 3: Introduceți acreditările SFTP.
Introduceți adresa IP sau adresa URL a gazdei dvs., numele de utilizator SFTP, parola și numărul portului (de obicei 22 sau 2222, dar unele gazde pot folosi un alt port).

Notă: Este posibil să primiți o alertă „cheie gazdă necunoscută” dacă clientul dvs. SFTP utilizează autentificarea de încredere la prima utilizare (TOFU). Bifați „Aveți întotdeauna încredere în această gazdă, adăugați această cheie în cache” dacă intenționați să utilizați clientul SFTP pentru a accesa din nou site-ul. Faceți clic pe OK pentru a continua.

Pasul 4: Navigați la directorul rădăcină al site-ului dvs. web.
După ce v-ați conectat, veți vedea doi arbori de fișiere afișați pe butonul ecranului dvs. - unul în stânga și unul în dreapta. Partea dreaptă afișează directoarele de pe serverul dvs. web (la distanță). Partea stângă listează directoarele de pe computer (local).
Directorul dvs. rădăcină se află de obicei într-un folder etichetat www sau public_html , dar poate folosi un alt nume. Dacă nu sunteți sigur în ce folder să căutați, întrebați furnizorul dvs. de găzduire. Veți ști că vă aflați în folderul corect dacă vedeți folderele wp-admin , wp-content și wp-includes în partea de sus a listei de fișiere.

Pasul 5: Navigați la functions.php în nucleul WordPress, tema părinte sau tema copil. Dacă căutați functions.php în nucleul WordPress, veți naviga la folderul wp-includes .
Dacă căutați functions.php în directorul dvs. de teme, veți naviga la wp-content → themes → yourtheme .
Pentru a găsi fișierul functions.php al temei copilului dvs., accesați wp-content → themes → yourtheme-child.
Pasul 6: Descărcați functions.php . Acum că știți unde se află functions.php și l-ați accesat, poate doriți să inspectați sau să editați fișierul. Înainte de a putea face asta, va trebui să îl descărcați. Faceți clic dreapta pe fișierul functions.php și selectați Descărcare . Fișierul dvs. va fi descărcat pe computerul dvs. local.

Accesarea functions.php în cPanel
Dacă gazda dvs. folosește cPanel, puteți accesa functions.php prin managerul său de fișiere. Dacă nu știți cum să găsiți cPanel în tabloul de bord al gazdei dvs., contactați serviciul de asistență pentru clienți pentru ajutor.
Pasul 1: Deschideți Managerul de fișiere al cPanel. Odată ce sunteți în cPanel, navigați la secțiunea Fișiere și faceți clic pe Manager fișiere .
Pasul 2: Deschideți folderul rădăcină al site-ului dvs. Dosarul rădăcină se numește în mod obișnuit www sau public_html , dar poate avea un alt nume. Convențiile de denumire a folderului rădăcină diferă pe unele gazde, așa că dacă nu sunteți sigur în ce folder să căutați, întrebați furnizorul dvs. de găzduire.
Veți ști că vă aflați în folderul corect dacă vedeți folderele wp-admin , wp-content și wp-includes în partea de sus a listei de fișiere.
Pasul 3: Găsiți și descărcați functions.php . Fișierul functions.php pentru nucleul WordPress se află în folderul wp-includes .
Fișierul functions.php al temei dvs. se află în wp-content → themes → yourtheme .
Dacă cauți fișierul functions.php al temei copilului tău, îl poți găsi în wp-content → themes → yourtheme-child.
Când ați găsit fișierul functions.php pe care îl căutați, faceți clic dreapta pe functions.php și faceți clic pe Descărcare , sau faceți un singur clic pe functions.php și apoi faceți clic pe opțiunea Descărcare din meniul de sus.

Dacă redenumiți fișierul când îl salvați, asigurați-vă că îl denumiți înapoi în functions.php înainte de a-l reîncărca. Și înainte de a face modificări și de a suprascrie functions.php , faceți o copie de rezervă a site-ului dvs. WordPress.
Când ar trebui să editez functions.php în WordPress?
Înainte de a aborda cum să editați functions.php , ar trebui să vorbim despre dacă și când ar trebui să îl editați. Există multe motive pentru care ați putea dori să editați codul PHP în WordPress, dar adăugarea acelui cod în fișierul functions.php nu este întotdeauna cea mai bună opțiune și ar trebui făcută numai în anumite circumstanțe, despre care vom discuta mai jos.
Când să editați functions.php în miezul WordPress
Nu. Nu ar trebui să editați functions.php în nucleul WordPress. Cel mult, s-ar putea să-l înlocuiți dacă descoperiți că a fost corupt, dar ștergerea sau adăugarea codului la funcțiile de bază WordPress.php este probabil să vă distrugă site-ul. Deci, îl puteți deschide, îl puteți inspecta, îl puteți înlocui cu o copie nouă dacă aveți nevoie, dar nu vă încurcați pe niciun site web live.
Când să editezi functions.php în tema ta
Când vine vorba de fișierul functions.php al temei, este posibil să fie necesar sau nu să îl editați. Dacă vă creați propria temă, cu siguranță veți dori să adăugați un cod personalizat la functions.php . Aproape fiecare temă are cod în fișierul functions.php care îi oferă un set unic de caracteristici și capabilități. Pe lângă foile de stil, aceste funcții reprezintă o mare parte a ceea ce face o temă diferită de alta.
Dacă adăugați cod în fișierul functions.php al temei dvs. care nu este specific temei dvs. și ar putea fi utilizat independent de tema dvs., luați în considerare în schimb să îl transformați într-un plugin. În acest fel, puteți utiliza această funcție pe mai multe teme și chiar o puteți trimite bibliotecii de pluginuri WordPress.org, unde ar putea beneficia alți utilizatori WordPress.
Înainte de a vă crea pluginul, verificați biblioteca de pluginuri pentru a vă asigura că ceea ce creați nu există deja. Dacă există deja o soluție de calitate, poate doriți să economisiți energia de dezvoltare pentru o altă funcție personalizată pe site-ul dvs.
Când să editați functions.php în tema copilului dumneavoastră
Dacă utilizați o temă de la un dezvoltator și doriți să modificați fișierul functions.php , ar trebui să utilizați întotdeauna o temă copil pentru a face acele modificări. Când dezvoltatorii de teme lansează o nouă versiune a temei lor și actualizați la cea mai recentă, tema dvs. curentă este suprascrisă de noile fișiere - inclusiv functions.php .
Temele copil nu sunt afectate de actualizările temei părinte, așa că veți păstra tot codul personalizat dacă faceți modificări în fișierul functions.php al unei teme secundare.
Înainte de a adăuga cod, luați în considerare dacă folosirea unui plugin ar fi o soluție mai bună. Codul pe care îl adăugați este specific temei dvs.? Editați fișierul functions.php al temei copilului. Codul pe care îl adăugați este ceva pe care doriți să îl aveți în continuare dacă schimbați temele în viitor (de exemplu, codul de urmărire Google Analytics sau pixelul Facebook)? Utilizați un plugin.
Cum se editează functions.php în WordPress
Ar trebui să luați întotdeauna măsuri pentru a vă proteja site-ul de orice greșeli pe care le puteți face în timp ce editați functions.php . Așadar, înainte de a începe să faceți modificări, faceți o copie de rezervă a site-ului și luați în considerare crearea unui site de pregătire pentru a le testa mai întâi. În acest fel, site-ul dvs. live nu este perturbat dacă adăugați accidental un cod la functions.php care cauzează probleme majore sau - și mai rău - blochează site-ul complet.
Acum că ați făcut o copie de rezervă a site-ului dvs., puteți trece la editarea fișierului functions.php .
Cum să editați functions.php în Editorul de fișiere de teme WordPress
Editarea functions.php în Editorul de fișiere de teme WordPress este puțin riscantă. Dacă utilizați acest instrument deoarece nu aveți acces la cPanel sau SFTP, atunci veți fi într-o situație destul de proastă dacă editările dvs. provoacă o eroare fatală care vă împiedică să accesați tabloul de bord WordPress.
Dacă doriți să editați functions.php în Theme File Editor, asigurați-vă că aveți acces direct la server și copiile de rezervă, astfel încât să puteți restaura rapid fișierul de rezervă.
Puteți găsi Editorul de fișiere de teme WordPress sub Aspect → Editor de fișiere de teme din panoul de administrare WordPress.
Veți fi direcționat la ecranul Editare teme, unde ar trebui să selectați tema copilului, apoi selectați fișierul functions.php din coloana Fișiere cu teme din partea dreaptă a ecranului.

Dacă ați selectat în schimb tema părinte, veți vedea un avertisment în partea de jos a ecranului, care spune „ Atenție: Acesta este un fișier din tema părinte actuală”. Nu doriți să faceți modificări în fișierul functions.php al temei părinte, deoarece modificările dvs. vor fi suprascrise data viitoare când actualizați tema.
Dacă vedeți în fișierul dvs. funcții pe care nu le înțelegeți, WordPress include o funcție utilă de căutare a documentației chiar deasupra butonului Actualizare fișier . Faceți clic pe meniul drop-down și căutați numele funcției despre care doriți să aflați mai multe și faceți clic pe Căutare . Veți fi direcționat către documentația WordPress.org pentru acea funcție.
Când ați terminat cu modificările, faceți clic pe Actualizare fișier . Verificați partea din față și din spate a site-ului dvs. pentru a vă asigura că totul funcționează în continuare conform intenției. Dacă întâmpinați o eroare fatală și trebuie să restaurați functions.php din backup, puteți face asta în cPanel sau prin SFTP.
Editarea functions.php cu un editor de text
Cel mai bun mod de a edita functions.php este în software-ul de editare de cod ales. Deoarece editați o copie care este offline pe computerul dvs. local, nu trebuie să fiți conectat la internet pentru a lucra la fișierul dvs. De asemenea, veți avea mai mult control asupra momentului în care efectuați modificările pe site-ul dvs. live.
Puteți edita codul oricând doriți și puteți încărca modificările într-un moment în care site-ul dvs. web primește, în mod normal, cel mai puțin trafic. În acest fel, dacă există probleme, cel mai mic număr de vizitatori va fi afectat.
Pasul 1: Deschide functions.php in editorul tau de text. Dacă nu sunteți familiarizat cu utilizarea unui editor de text, există mai multe opțiuni gratuite din care să alegeți.
Editori gratuit de cod sursă și text simplu:
Aplicație | Sistem |
Notepad++ | Windows |
Atom.io | Windows, Mac, Linux |
Sublim | Windows, Mac, Linux |
TextEdit *asigurați-vă că sunteți în modul text simplu | Mac (aplicație implicită) |
Notepad | Windows (aplicație implicită) |
Pasul 2: Editați functions.php și salvați pe mașina dvs. locală. Afișajul dvs. poate arăta diferit în funcție de programul pe care îl utilizați pentru a edita fișierul functions.php . Iată cum arată codul PHP în atom.io:

Adăugați sau modificați orice informație de care aveți nevoie, apoi salvați fișierul.
Pasul 3: Conectați-vă la serverul dvs. web prin SFTP sau cPanel. Navigați la tema sau folderul cu tema copil și găsiți fișierul functions.php .
Pasul 4: Schimbați numele fișierului functions.php pe serverul dvs. web. În cazul în care versiunea dvs. editată conține erori, nu doriți să suprascrieți fișierul original functions.php . Ai făcut o copie de rezervă, desigur, dar în loc să fii nevoit să scoți fișierul functions.php din backup, vei avea fișierul original la îndemână.
Doriți să puteți restaura rapid fișierul functions.php dacă ceva nu merge bine, așa că redenumirea acestuia în ceva de genul „functions-orginal.php” vă va asigura că conținutul fișierului original este păstrat pe serverul dumneavoastră.

Pasul 5: Încărcați functions.php de pe mașina dvs. locală pe serverul dvs. web. Folosind SFTP sau cPanel, încărcați fișierul functions.php în directorul principal al temei sau al temei secundare.
Pasul 6: Vizitați site-ul dvs. web pentru a vă asigura că funcționează corect. După ce ați încărcat fișierul functions.php , ar trebui să verificați pentru a vă asigura că totul funcționează pe site-ul dvs. Vizitați front-end și conectați-vă la tabloul de bord WordPress pentru a vă asigura că totul este accesibil și că se afișează și funcționează corect.

Pasul 7: Ștergeți vechiul fișier functions.php redenumit. Odată ce ați stabilit că site-ul dvs. funcționează corect, puteți șterge functions-original.php (sau orice l-ați redenumit). Dacă găsiți o problemă pe viitor, ar trebui să aveți în continuare fișierul functions.php din backup-ul pe care l-ați făcut.
Editarea functions.php direct in cPanel
Dacă nu aveți sau nu doriți să utilizați un editor de cod sursă, puteți edita functions.php direct în cPanel (dacă gazda dvs. folosește cPanel). La fel ca editarea în Editorul de fișiere de teme WordPress, este puțin mai riscant decât lucrul pe mașina dvs. locală. Dacă conexiunea dvs. la internet este întreruptă în timp ce editați, puteți pierde modificările. De asemenea, riscați să suprascrieți fișierul original functions.php .
Pasul 1: Găsiți functions.php în cPanel. În cPanel, faceți clic pe File Manager .
Navigați la folderul rădăcină (de obicei public_html sau www , dar ar putea avea un alt nume).
Pasul 2: Faceți o copie a functions.php . În meniul principal File Manager, faceți clic pe + Folder pentru a adăuga un nou folder. Veți dori să faceți o copie a fișierului functions.php și să-l salvați aici ca backup.
Denumiți noul folder cu ceva ușor de identificat, cum ar fi „funcții de rezervă”, astfel încât să îl puteți găsi cu ușurință mai târziu. Faceți clic pe Creare dosar nou .

Pasul 3: Găsiți functions.php în folderul cu tema sau tema copil și copiați-l în folderul de rezervă. În tema sau folderul cu tema secundară, derulați în jos la functions.php și faceți clic dreapta pe numele fișierului. Selectați Copiere .

Va apărea o casetă de dialog care vă va cere să introduceți calea în care doriți să copiați fișierul. Calea către folderul în care vă aflați în prezent va fi pre-populată, așa că dacă calea fișierului către folderul de rezervă diferă de ceea ce vedeți, introduceți calea corectă. Faceți clic pe Copiere fișier(e) .
Pasul 4: Navigați înapoi la functions.php în directorul de teme sau teme secundare. Acum că ai o copie de rezervă, poți să te întorci la fișierul functions.php din directorul teme sau al temei copil și să începi editarea.
Faceți clic dreapta pe functions.php , apoi faceți clic pe Editare .
Pasul 5: Editați functions.php . Acum ar trebui să vedeți conținutul fișierului functions.php pe ecran. Ar trebui să arate cam așa:

Adăugați sau modificați orice informație de care aveți nevoie, apoi salvați fișierul.
Folosind un plugin pentru a adăuga funcții site-ului dvs. WordPress
În loc să modificați direct fișierul functions.php , puteți utiliza un plugin precum Code Snippets pentru a adăuga funcții site-ului dvs. Dacă trebuie să adăugați un număr suficient de funcții pe site-ul dvs., poate fi ușor să pierdeți evidența funcțiilor de care mai aveți nevoie și care nu.
Fragmente de cod oferă o interfață grafică de utilizator (GUI) pentru gestionarea blocurilor de cod PHP. Puteți adăuga descrieri astfel încât să știți ce ar trebui să facă codul și puteți activa și dezactiva blocurile de cod, la fel ca activarea și dezactivarea unui plugin.
Deoarece nu faci modificări la functions.php , este o metodă mult mai sigură de a adăuga funcții PHP pe site-ul tău WordPress.
Cum să protejați functions.php de exploatările de securitate
Fișierul functions.php este adesea o țintă a hackerilor, așa că păstrarea lui în siguranță ar trebui să fie o prioritate ridicată. Urmați următorii pași pentru a vă ajuta să vă securizați fișierul functions.php :
1. Instalați un plugin de securitate
Folosind un plugin de securitate, vă veți bucura de protecție avansată împotriva hackerilor în mai multe zone ale site-ului dvs.
Jetpack Security este o opțiune ieftină care vă ajută să vă protejați site-ul de atacuri rău intenționate. Include scanarea malware și remedieri cu un singur clic, protecție împotriva atacurilor de forță brută, monitorizarea timpului de nefuncționare, un jurnal de activitate, astfel încât să știți dacă și când site-ul dvs. a fost piratat și protecție de conectare prin autentificare cu doi factori (2FA).

Jetpack Security monitorizează, de asemenea, site-ul dvs. pentru orice modificări ale fișierelor de bază WordPress, plugin-uri învechite sau nesigure și alte vulnerabilități, astfel încât să le puteți prinde înainte ca un hacker să le găsească și să profite.
În plus, oferă copii de rezervă WordPress în timp real, astfel încât să puteți restaura rapid o versiune curată dacă ceva nu merge bine - chiar dacă nu vă puteți conecta la site-ul dvs.
2. Interziceți accesul la funcțiile de bază ale WordPress.php prin intermediul . fișier htaccess
Dacă site-ul dvs. este găzduit pe un server Apache, puteți utiliza un . htaccess pentru a vă proteja fișierul WordPress de bază functions.php prin blocarea accesului la întregul folder wp-includes .
Pasul 1: Descărcați .htaccess
Folosind SFTP sau cPanel, navigați la folderul rădăcină al site-ului dvs. web. Faceți clic dreapta pe . htaccess și selectați Descărcare pentru a descărca fișierul pe computerul local.
Pasul 2: Adăugați cod pentru a bloca accesul la folderul wp-includes
Într-un cod sursă sau un editor de text simplu, deschideți . htaccess și adăugați următorul cod:
<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>
Salvați fișierul. Asigurați-vă că programul dvs. de editare nu include o extensie de fișier. Dacă utilizați Notepad++ sau Text Edit, este posibil să adăugați o extensie de fișier .txt. Fișierul ar trebui pur și simplu să fie numit „.htaccess”.
Pasul 3: Încărcați fișierul editat. htaccess înapoi la folderul rădăcină
Încărcați editat. htaccess înapoi în folderul rădăcină al site-ului dvs. web. Veți fi întrebat dacă doriți să suprascrieți fișierul existent. Faceți clic pe Ok .
Acum dvs. htaccess ar trebui să blocheze accesul extern la orice fișiere din folderul wp-includes , inclusiv functions.php .
3. Interziceți accesul la functions.php folosind functions.php
Puteți bloca accesul direct la fișierul functions.php adăugând următorul fragment de cod direct la functions.php .
if (!empty($_SERVER['SCRIPT_FILENAME']) && 'functions.php' == basename($_SERVER['SCRIPT_FILENAME'])) { die ('Access denied!'); }
4. Ascunde funcțiile.php în afara directorului rădăcină
Hackerii cunosc locația implicită a tuturor fișierelor standard WordPress. Schimbarea locației fișierelor sensibile într-un folder cu acces restricționat în afara directorului rădăcină îl poate ține la îndemâna hackerilor. Acest proces este puțin mai implicat decât doar adăugarea unui cod la fișierul dvs. .htaccess , dar merită efortul suplimentar pentru nivelul suplimentar de protecție al site-ului dvs. web.
În doar câțiva pași, puteți securiza functions.php în afara folderului rădăcină.
Pasul 1: Descărcați fișierul actual functions.php
Dacă mutați fișierul functions.php al temei, îl veți găsi sub wp-content → themes → yourtheme . Fișierul temei copilului dvs. va fi în wp-content → themes → yourtheme-child .
După ce ați găsit fișierul functions.php , descărcați-l pe computer prin SFTP sau cPanel.
Pasul 2: Creați un director nou în afara folderului rădăcină
Navigați în afara directorului dvs. rădăcină la următorul dosar de fișiere mai sus. Ar trebui să vedeți numele folderului rădăcină, precum și alte câteva foldere. În acest director, faceți clic dreapta și selectați Creare director .

Dați directorului dvs. un nume ușor de reținut ca locație a fișierului functions.php .
Pasul 3: Încărcați functions.php în noul folder
Încărcați fișierul functions.php pe care l-ați descărcat mai devreme în noul folder prin SFTP sau cPanel.

Verificați noul dvs. folder și permisiunile fișierelor functions.php și asigurați-vă că sunt setate la 600.

Pasul 4: Orientați WordPress către noul fișier functions.php
Ar trebui să aveți un fișier functions.php în noul director, precum și fișierul functions.php original care se află încă în folderul cu tema. Pentru ca WordPress să găsească și să utilizeze fișierul corect, veți dori să ștergeți toate informațiile din fișierul functions.php al fișierului dvs. temă și următorul fragment de cod:
<?php include('/home3/usr/securefunctions/functions.php'); ?>
Notă: Calea fișierului dvs. va arăta diferit, deoarece veți folosi numele de directoare ale serverului dvs.
În cPanel, puteți deschide fișierul functions.php al directorului rădăcină și îl puteți edita direct sau puteți edita copia pe care ați descărcat-o mai devreme pe mașina locală folosind un editor de cod sursă. Pentru acest exemplu, am editat copia pe care am descărcat-o mai devreme folosind Atom.io.
Salvați fișierul funtions.php și încărcați-l înapoi în directorul dvs. de teme.

Veți fi întrebat dacă doriți să suprascrieți fișierul. Faceți clic pe Ok .
Acum, WordPress ar trebui să facă referire la noul fișier functions.php în locația sa securizată în afara folderului rădăcină.
4. Schimbați numele fișierului dumneavoastră functions.php
Schimbarea numelui fișierului functions.php este un alt pas pe care îl puteți face pentru a-l proteja de hackeri. Va trebui să găzduiți acest fișier în afara folderului rădăcină, așa că dacă ați urmat procesul din Hide functions.php în afara directorului rădăcină , va trebui să faceți doar câțiva pași suplimentari.
Pasul 1: În directorul dvs. securizat din afara folderului rădăcină, schimbați numele fișierului functions.php
Accesați folderul functions.php găzduit în afara directorului dvs. rădăcină și schimbați numele fișierului cu ceva unic, cum ar fi „keep-out.php” sau „acestea-nu-sunt-funcțiile-căutați-pentru-acestea. php' . Bine, ultimul e puțin lung, dar nu contează cu adevărat cum îl numiți atâta timp cât îl includeți în calea fișierului din folderul cu tema copie a functions.php .
Pasul 2: Editați codul în functions.php din directorul rădăcină pentru a reflecta schimbarea numelui
Acum că ați schimbat numele cu altceva decât functions.php , va trebui să vă asigurați că copia din directorul temei a functions.php indică numele corect al fișierului.
Descărcați copia folderului rădăcină a funcțiilor.php pe computerul local și editați-o cu editorul de text. Schimbați numele fișierului functions.php cu noul nume de fișier, apoi salvați fișierul.
<?php include('/home3/usr/secureconfig/keep-out.php'); ?>
Pasul 3: Încărcați functions.ph p înapoi în directorul de teme
Veți fi întrebat dacă doriți să suprascrieți fișierul existent. Faceți clic pe Ok .
Acum WordPress ar trebui să indice fișierul cu funcții redenumit.
Straturi suplimentare de securitate pentru functions.php
Puteți adăuga o protecție suplimentară site-ului dvs. în ansamblu, inclusiv fișierul functions.php , făcând modificări similare fișierului wp-config , cum ar fi redenumirea acestuia, găzduirea lui în afara directorului rădăcină și interzicerea accesului public.
Dacă vedeți cod suspect în fișierele functions.php și vă îngrijorați că este posibil să fi fost deja piratat, veți dori să citiți cum să detectați și să eliminați programele malware de pe site-ul dvs. WordPress.
Ce cod pot adăuga la functions.php în WordPress?
Există o mulțime de fragmente de cod diferite pe care le puteți adăuga la fișierul WordPress functions.php . Cu toate acestea, de multe ori ești mai bine servit prin utilizarea unui plugin (sau scrierea propriului plugin) pentru multe funcții. Dacă codul pe care doriți să îl adăugați este specific temei dvs., atunci puteți adăuga acel cod PHP în fișierul functions.php al temei copilului.
Mai jos sunt câteva funcții utile pe care le-ați putea introduce în fișierul functions.php al temei copilului:
Adăugarea unui nou utilizator admin în functions.php
Dacă ați pierdut accesul de administrator la tabloul de bord WordPress și nu vă puteți recupera numele de utilizator sau parola prin e-mail, puteți crea un nou utilizator administrator prin contul dvs. de găzduire. Fie prin SFTP, fie prin cPanel, puteți descărca fișierul functions.php și puteți adăuga următorul cod pentru a crea un nou utilizator admin pentru site-ul dvs.
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' );
În codul de mai sus, înlocuiți „numele-utilizator”, „parola-voastra” și „e-mailul dvs.” cu propriile acreditări. Salvați fișierul functions.php și reîncărcați-l în folderul cu teme. Aceasta va crea un nou utilizator administrator cu numele de utilizator, parola și adresa de e-mail pe care le-ați atribuit în cod.
După ce ați încărcat fișierul, navigați la pagina de conectare a site-ului dvs. și utilizați noul nume de utilizator și parola pentru a vă conecta. După ce ați autentificat cu succes și ați confirmat că aveți privilegii de administrator, ar trebui să eliminați codul pe care l-ați adăugat. creați-vă noul cont de administrator din functions.php .
Adăugarea și eliminarea dimensiunilor imaginii în functions.php
Când încărcați o imagine în Biblioteca Media WordPress, sunt generate mai multe variante ale imaginii dvs. WordPress are miniaturi implicite, dimensiuni mici, medii și mari care sunt utilizate pe lângă imaginea dvs. de dimensiune completă. În general, tema dvs. va trage dimensiunea optimă a imaginii pentru părți individuale ale site-ului dvs.
Dacă vă creați propria temă sau trebuie să faceți modificări la o temă copil pentru a găzdui dimensiuni suplimentare personalizate de imagine, puteți face acest lucru în fișierul functions.php .
Folosiți următorul cod și schimbați numele de dimensiune personalizată a imaginii din „personalizat-small-square” și „personalizat-peisaj” la orice nume doriți să utilizați. Numerele de lângă numele dimensiunii imaginii personalizate reprezintă dimensiunea imaginii în pixeli, așa că introduceți valorile pixelilor cu lățimea mai întâi și înălțimea pe al doilea.
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 ?
Răspunsul scurt? Da.
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. Ajutor!
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.