Come trovare, accedere e modificare functions.php in WordPress

Pubblicato: 2022-08-23

Se hai appena iniziato con lo sviluppo di WordPress, uno dei file più importanti con cui dovresti familiarizzare è il file functions.php . In realtà ci sono tre possibili file functions.php che potresti utilizzare sul tuo sito Web WordPress e ognuno svolge un ruolo diverso. Sapere dove risiedono questi file, qual è il loro scopo e come e quando modificarli ti aiuterà nella risoluzione dei problemi e ti darà un maggiore controllo sulla funzionalità del tuo sito.

In questo articolo, tratteremo tutto ciò che devi sapere sui file functions.php di WordPress. Imparerai cosa fa functions.php e come trovarlo e modificarlo. Includeremo anche alcuni utili frammenti di codice da provare.

Puoi iniziare dall'inizio e leggere o passare a una sezione specifica utilizzando il sommario di seguito:

  • Che cos'è functions.php in WordPress?
  • Dove si trova il file functions.php ?
  • Come accedere a functions.php
    • Accesso a functions.php nell'interfaccia di amministrazione di WordPress
    • Accesso a functions.php tramite FTP
    • Accesso a functions.php nel tuo cPanel
  • Quando dovrei modificare functions.php in WordPress?
  • Come modificare functions.php in WordPress
    • Modifica functions.php nel tuo editor di file del tema di WordPress
    • Modifica functions.php con un editor di testo
    • Modifica functions.php direttamente in cPanel
  • Utilizzo di un plug-in per aggiungere funzioni al tuo sito WordPress
  • Come proteggere functions.php dagli exploit di sicurezza
  • Quale codice posso aggiungere a functions.php in WordPress?
  • FAQ
    • Devo creare un tema figlio per modificare functions.php ?
    • Come posso ripristinare functions.php da un backup se non ho accesso alla mia dashboard di WordPress?
    • Posso aggiungere JavaScript al mio file functions.php ?

Che cos'è functions.php in WordPress?

In WordPress, il file functions.php è dove risiede il codice vitale che determina il modo in cui funziona il tuo sito. In realtà ci sono almeno due file functions.php in ogni sito Web WordPress: uno incluso nel core di WordPress e uno incluso nel tuo tema. Se stai usando un tema figlio, dovresti anche avere un functions.php nella cartella del tema figlio.

Il file functions.php nel core di WordPress contiene codice importante necessario per il funzionamento di WordPress. Non dovresti quasi mai modificare il codice nel file functions.php di WordPress core.

Il file functions.php del tuo tema è il luogo in cui risiedono tutte le funzionalità specifiche del tuo sito Web, come le posizioni dei menu personalizzate, le aree dei widget, il contenuto e le funzionalità di intestazione e piè di pagina personalizzati, la lunghezza dell'estratto del post e altro ancora.

Il file functions.php del tuo tema si comporta più o meno allo stesso modo di un plugin per WordPress. La differenza è che functions.php dovrebbe essere utilizzato per il codice specifico del tema, mentre i plug-in dovrebbero essere utilizzati per funzionalità che rimarranno anche quando si cambia tema.

Dove si trova il file functions.php ?

Abbiamo parlato di cosa fa il file functions.php sia nel core di WordPress che nei file del tema, ma come si trova il file functions.php ? Dov'è functions.php in WordPress?

Tutti i tuoi file WordPress si trovano nella directory principale del tuo sito e in varie sottocartelle. La tua directory principale è solitamente denominata in modo simile a public_html o www , ma potrebbe avere un nome diverso. Se non sei sicuro di dove trovare la cartella di installazione di WordPress sul tuo server, contatta il tuo host web.

Una volta trovato dove si trovano i tuoi file WordPress sul tuo server, puoi iniziare a cercare i tuoi file functions.php . Abbiamo menzionato che ci sono fino a tre posizioni per functions.php : il core di WordPress, la cartella del tema e la cartella del tema figlio. In questa sezione analizzeremo dove trovarli.

Dov'è functions.php nel core di WordPress?

Se stai cercando la posizione di functions.php nel core di WordPress, la troverai nella cartella wp-includes della tua installazione di WordPress.

trovare il file functions.php in wp-includes

Anche se non dovresti mai modificare functions.php nel core di WordPress, potresti trovarti a dover ispezionarlo per un motivo o per l'altro. Lo scenario più probabile per curiosare in functions.php nel core di WordPress è se si sospetta che al suo interno sia stato iniettato malware.

Prima ancora di aprire functions.php , dovresti fare un backup del tuo sito WordPress nel caso in cui apporti accidentalmente una modifica al file che causa un errore critico. Se trovi che functions.php è stato danneggiato o violato, è probabile che tu possa avere altre aree di WordPress interessate. La cosa migliore da fare è semplicemente sostituire WordPress con una nuova installazione, piuttosto che provare a rimuovere tutti gli script offensivi uno per uno.

Dov'è functions.php nella mia cartella del tema di WordPress?

Il file functions.php del tuo tema si trova nella directory principale della cartella del tuo tema: wp-contenttemi → il tuo tema .

trovare il file functions.php nella cartella del tema

Dov'è functions.php nella cartella del tema figlio di WordPress?

Il file functions.php del tema figlio di WordPress si trova nella directory principale della cartella del tema figlio: wp-content → temi → il tuo tema-figlio .

trovare il file functions.php del tema figlio

Come accedo a functions.php ?

Sapere dove vive functions.php è solo metà del lavoro. Ora arriva la domanda su come accedere a functions.php in WordPress. Sebbene sia possibile accedere al file functions.php nel core di WordPress solo tramite il protocollo di trasferimento file sicuro (SFTP) o tramite cPanel, è possibile accedere ai file functions.php del tema e del tema figlio anche nell'editor di file del tema di WordPress.

Accesso a functions.php nell'editor dei file dei temi di WordPress

Se hai bisogno di accedere al tuo tema o al file functions.php del tuo tema figlio, puoi farlo direttamente dall'editor del file del tema di WordPress. Nella dashboard di WordPress, vai su Aspetto → Editor file tema .

Verrai indirizzato alla pagina Modifica temi . Da qui, sotto il menu a discesa accanto a Seleziona il tema da modificare , scegli il tuo tema e fai clic su Seleziona . Vedrai un elenco di file disponibili per la modifica nella colonna File del tema all'estrema destra dello schermo. Fare clic su functions.php per aprire il file.

trovare il file functions.php

Se ti trovi nel file functions.php del tuo tema principale, vedrai un avviso nella parte inferiore dello schermo sopra il pulsante Aggiorna file che dice "Attenzione: questo è un file nel tuo tema principale corrente".

Nota: se non sei lo sviluppatore del tema, dovresti apportare le modifiche nel file functions.php del tuo tema figlio per evitare che le tue modifiche vengano sovrascritte negli aggiornamenti futuri del tema.

Accesso a functions.php tramite SFTP

Passaggio 1: installa il tuo client SFTP. Se non disponi già di un client SFTP, dovrai scaricarne uno. Ci sono alcune fantastiche opzioni gratuite e premium là fuori, tra cui:

Applicazione Sistema Gratuito o Premium
WinSCP finestre Gratuito
Filezilla Windows, Mac, Linux Opzioni gratuite e premium
Anatra cibernetica Windows, Mac Gratuito
Trasmettere Mac Premium

In questo esempio useremo Filezilla. Altri client SFTP dovrebbero funzionare in modo simile.

Passaggio 2: recupera le credenziali SFTP. Per accedere al tuo server tramite SFTP avrai bisogno dei seguenti dettagli:

  • Host (l'indirizzo IP o l'URL del tuo server)
  • Nome utente SFTP
  • Parola d'ordine
  • Numero di porta

Questi dettagli si trovano solitamente nel pannello di controllo dell'hosting. Queste informazioni potrebbero essere generate per te o il tuo host potrebbe chiederti di creare un nome utente e una password SFTP. Se non sai dove trovare queste credenziali o hai problemi a capire come crearle, cerca le istruzioni nella documentazione della guida del tuo host o contatta il suo team di supporto.

Passaggio 3: inserisci le tue credenziali SFTP.

Inserisci l'indirizzo IP o l'URL del tuo host, il tuo nome utente SFTP, la password e il numero di porta (di solito 22 o 2222, ma alcuni host potrebbero utilizzare una porta diversa).

inserendo le credenziali sftp in Filezilla

Nota: potresti ricevere un avviso "chiave host sconosciuta" se il tuo client SFTP utilizza l'autenticazione TOFU (trust on first use). Seleziona "Fidati sempre di questo host, aggiungi questa chiave alla cache" se prevedi di utilizzare il tuo client SFTP per accedere nuovamente al sito. Fare clic su OK per procedere.

messaggio chiave host sconosciuto in filezilla

Passaggio 4: vai alla directory principale del tuo sito web.

Dopo aver effettuato l'accesso, vedrai due alberi di file visualizzati sul pulsante dello schermo: uno a sinistra e uno a destra. Il lato destro elenca le directory sul tuo server web (remoto). Il lato sinistro elenca le directory sul tuo computer (locale).

La tua directory principale si trova in genere in una cartella denominata www o public_html , ma potrebbe utilizzare un nome diverso. Se non sei sicuro in quale cartella cercare, chiedi al tuo provider di hosting. Saprai di essere nella cartella corretta se vedi le cartelle wp-admin , wp-content e wp-includes nella parte superiore dell'elenco dei file.

trovare la cartella public_html in Filezilla

Passaggio 5: vai a functions.php nel core di WordPress, nel tuo tema principale o nel tema figlio. Se stai cercando functions.php nel core di WordPress, andrai alla cartella wp-includes .

Se stai cercando functions.php nella directory del tuo tema, andrai a wp-contenttemi → il tuo tema .

Per trovare il file functions.php del tuo tema figlio, vai su wp-content → temi → tuo tema-figlio.

Passaggio 6: scarica functions.php . Ora che sai dove si trova functions.php e hai avuto accesso ad esso, potresti voler ispezionare o modificare il file. Prima di poterlo fare, dovrai scaricarlo. Fare clic con il pulsante destro del mouse sul file functions.php e selezionare Download . Il tuo file verrà scaricato sul tuo computer locale.

scaricando il file functions.php da Filezilla

Accesso a functions.php in cPanel

Se il tuo host utilizza cPanel, puoi accedere a functions.php tramite il suo file manager. Se non sai come trovare cPanel nella dashboard del tuo host, contatta l'assistenza clienti per chiedere aiuto.

Passaggio 1: apri File Manager di cPanel. Una volta che sei in cPanel, vai alla sezione File e fai clic su File Manager .

Passaggio 2: apri la cartella principale del tuo sito Web. La cartella principale è comunemente chiamata www o public_html , ma potrebbe avere un altro nome. Le convenzioni di denominazione delle cartelle radice differiscono su alcuni host, quindi se non sei sicuro in quale cartella cercare, chiedi al tuo provider di hosting.

Saprai di essere nella cartella corretta se vedi le cartelle wp-admin , wp-content e wp-includes nella parte superiore dell'elenco dei file.

Passaggio 3: trova e scarica functions.php . Il file functions.php per il core di WordPress si trova nella cartella wp-includes .

Il file functions.php del tuo tema si trova in wp-content → temi → tuotema .

Se stai cercando il file functions.php del tuo tema figlio, puoi trovarlo in wp-content → temi → tuo tema-figlio.

Quando hai trovato il file functions.php che stai cercando, fai clic con il pulsante destro del mouse su functions.php e fai clic su Download , oppure fai clic una volta su functions.php e quindi fai clic sull'opzione Download dal menu in alto.

scaricando il file functions.php da cpanel

Se rinomini il tuo file quando lo salvi, assicurati di rinominarlo in functions.php prima di ricaricarlo. E prima di apportare modifiche e sovrascrivere functions.php , esegui il backup del tuo sito WordPress.

Quando dovrei modificare functions.php in WordPress?

Prima di addentrarci in come modificare functions.php , dovremmo parlare di se e quando dovresti modificarlo. Ci sono molte ragioni per cui potresti voler modificare il codice PHP in WordPress, ma aggiungere quel codice al tuo file functions.php non è sempre l'opzione migliore e dovrebbe essere fatto solo in determinate circostanze, di cui parleremo di seguito.

Quando modificare functions.php nel core di WordPress

Mai. Non dovresti modificare functions.php nel core di WordPress. Al massimo, potresti sostituirlo se scopri che è stato danneggiato, ma è probabile che l'eliminazione o l'aggiunta di codice al core functions.php di WordPress rompa il tuo sito. Quindi, puoi aprirlo, ispezionarlo, sostituirlo con una nuova copia se necessario, ma non scherzare su nessun sito Web live.

Quando modificare functions.php nel tuo tema

Quando si tratta del file functions.php del tuo tema, potresti aver bisogno o meno di modificarlo. Se stai creando il tuo tema, vorrai sicuramente aggiungere del codice personalizzato a functions.php . Quasi ogni tema ha un codice nel suo file functions.php che gli conferisce un insieme unico di funzionalità e capacità. Oltre ai tuoi fogli di stile, queste funzioni sono una parte enorme di ciò che rende un tema diverso da un altro.

Se stai aggiungendo codice al file functions.php del tuo tema che non è specifico per il tuo tema e potrebbe essere utilizzato indipendentemente dal tuo tema, considera invece di renderlo un plug-in. In questo modo puoi utilizzare quella funzione su più temi e persino inviarla alla libreria di plugin di WordPress.org dove potrebbe essere di beneficio ad altri utenti di WordPress.

Prima di creare il tuo plug-in, controlla la libreria dei plug-in per assicurarti che ciò che stai creando non esista già. Se esiste già una soluzione di qualità, potresti voler risparmiare energia di sviluppo per una diversa funzionalità personalizzata sul tuo sito.

Quando modificare functions.php nel tuo tema figlio

Se stai utilizzando un tema di uno sviluppatore e desideri modificare il file functions.php , dovresti sempre utilizzare un tema figlio per apportare tali modifiche. Quando gli sviluppatori di temi pubblicano una nuova versione del loro tema e tu aggiorni all'ultima, il tuo tema corrente viene sovrascritto dai nuovi file, incluso functions.php .

I temi figlio non sono interessati dagli aggiornamenti del tema principale, quindi manterrai tutto il codice personalizzato se apporti modifiche nel file functions.php di un tema figlio.

Prima di aggiungere codice, valuta se l'utilizzo di un plug-in sarebbe una soluzione migliore. Il codice che stai aggiungendo è specifico per il tuo tema? Modifica il file functions.php del tuo tema figlio. Il codice che stai aggiungendo è qualcosa che desideri avere ancora se cambi temi in futuro (ad es. codice di monitoraggio di Google Analytics o pixel di Facebook)? Usa un plugin.

Come modificare functions.php in WordPress

Dovresti sempre adottare misure per proteggere il tuo sito da eventuali errori che potresti fare durante la modifica di functions.php . Quindi, prima di iniziare ad apportare modifiche, esegui il backup del tuo sito e considera la creazione di un sito di staging per testarle prima. In questo modo il tuo sito live non viene interrotto se aggiungi accidentalmente del codice a functions.php che causa gravi problemi o, peggio ancora, manda in crash il tuo sito completamente.

Ora che hai eseguito il backup del tuo sito, puoi passare alla modifica del tuo file functions.php .

Come modificare functions.php nell'editor di file dei temi di WordPress

La modifica di functions.php nell'editor dei file dei temi di WordPress è un po' rischiosa. Se stai utilizzando questo strumento perché non hai accesso a cPanel o SFTP, ti troverai in una situazione piuttosto brutta se le tue modifiche causano un errore irreversibile che ti impedisce di accedere alla dashboard di WordPress.

Se desideri modificare functions.php nell'Editor dei file del tema, assicurati di avere accesso diretto al server e ai tuoi backup in modo da poter ripristinare rapidamente il tuo file di backup.

Puoi trovare l'editor di file di temi di WordPress in Aspetto → Editor di file di temi nel tuo pannello di amministrazione di WordPress.

Verrai indirizzato alla schermata Modifica temi, dove dovresti selezionare il tema figlio, quindi selezionare il file functions.php dalla colonna File tema a destra dello schermo.

modificando il file functions.php nell'editor del file del tema

Se invece hai selezionato il tema principale, vedrai un avviso nella parte inferiore dello schermo che dice " Attenzione: questo è un file nel tuo tema principale corrente". Non vuoi apportare modifiche al file functions.php del tuo tema principale perché le modifiche verranno sovrascritte la prossima volta che aggiornerai il tema.

Se vedi funzioni nel tuo file che non capisci, WordPress include una pratica funzione di ricerca della documentazione appena sopra il pulsante Aggiorna file . Fare clic sull'elenco a discesa e cercare il nome della funzione su cui si desidera ottenere ulteriori informazioni, quindi fare clic su Cerca . Verrai indirizzato alla documentazione di WordPress.org per quella funzione.

Quando hai finito con le modifiche, fai clic su Aggiorna file . Controlla il front-end e il back-end del tuo sito per assicurarti che tutto funzioni ancora come previsto. Se riscontri un errore irreversibile e devi ripristinare functions.php dal tuo backup, puoi farlo in cPanel o tramite SFTP.

Modifica functions.php con un editor di testo

Il modo migliore per modificare functions.php è nel tuo software di modifica del codice preferito. Poiché stai modificando una copia offline sul tuo computer locale, non devi essere connesso a Internet per lavorare sul tuo file. Avrai anche un maggiore controllo su quando esegui il commit delle modifiche sul tuo sito live.

Puoi modificare il tuo codice quando vuoi e caricare le modifiche in un momento in cui il tuo sito web normalmente riceve il minor traffico. In questo modo, in caso di problemi, il minor numero di visitatori sarà interessato.

Passaggio 1: apri functions.php nel tuo editor di testo. Se non hai familiarità con l'utilizzo di un editor di testo, ci sono diverse opzioni gratuite tra cui scegliere.

Codice sorgente gratuito e editor di testo semplice:

Applicazione Sistema
Blocco note++ finestre
Atom.io Windows, Mac, Linux
Sublime Windows, Mac, Linux
Modifica testo
*assicurati di essere in modalità testo normale
Mac (applicazione predefinita)
Bloc notes Windows (applicazione predefinita)

Passaggio 2: modifica functions.php e salva sul tuo computer locale. Il tuo display potrebbe avere un aspetto diverso a seconda del programma che usi per modificare il tuo file functions.php . Ecco come appare il codice PHP in atom.io:

editing functions.php in atom.io

Aggiungi o modifica le informazioni di cui hai bisogno, quindi salva il file.

Passaggio 3: accedi al tuo server web tramite SFTP o cPanel. Passa al tuo tema o alla cartella del tema figlio e trova il file functions.php .

Passaggio 4: modifica il nome del file functions.php sul tuo server web. Nel caso in cui la tua versione modificata contenga errori, non vuoi sovrascrivere il tuo file functions.php originale. Hai fatto un backup, ovviamente, ma invece di dover estrarre il file functions.php dal tuo backup, avrai il tuo file originale a portata di mano.

Vuoi essere in grado di ripristinare rapidamente il file functions.php se qualcosa va storto, quindi rinominandolo in qualcosa come 'functions-orginal.php' assicurerai che il contenuto del file originale sia preservato sul tuo server.

rinominare il file functions.php

Passaggio 5: carica functions.php dal tuo computer locale al tuo server web. Usando SFTP o cPanel, carica il tuo file functions.php nella directory principale del tuo tema o del tema figlio.

Passaggio 6: visita il tuo sito Web per assicurarti che funzioni correttamente. Dopo aver caricato il tuo file functions.php , dovresti verificare che tutto funzioni sul tuo sito. Visita il front-end e accedi alla dashboard di WordPress per assicurarti che tutto sia accessibile, visualizzato e funzioni correttamente.

Passaggio 7: elimina il vecchio file functions.php rinominato . Una volta che hai stabilito che il tuo sito funziona correttamente, puoi eliminare functions-original.php (o come lo hai rinominato). Se trovi un problema lungo la strada, dovresti comunque avere il tuo file functions.php dal backup che hai fatto.

Modifica functions.php direttamente in cPanel

Se non hai o non vuoi usare un editor di codice sorgente, puoi modificare functions.php direttamente in cPanel (se il tuo host usa cPanel). Come la modifica nell'editor dei file dei temi di WordPress, è un po' più rischioso che lavorare sul tuo computer locale. Se la tua connessione Internet viene interrotta durante la modifica, potresti perdere le modifiche. Corri anche il rischio di sovrascrivere potenzialmente il tuo file functions.php originale.

Passaggio 1: trova functions.php in cPanel. In cPanel, fai clic su File Manager .

Passa alla tua cartella principale (di solito public_html o www , ma potrebbe avere un nome diverso).

Passaggio 2: crea una copia di functions.php . Nel menu principale di File Manager, fai clic su + Cartella per aggiungere una nuova cartella. Ti consigliamo di fare una copia del tuo file functions.php e salvarlo qui come backup.

Assegna un nome alla tua nuova cartella con qualcosa di facile da identificare come "funzioni di backup" in modo da poterla trovare facilmente in un secondo momento. Fare clic su Crea nuova cartella .

fare un backup del cpanel del file functions.php

Passaggio 3: trova functions.php nella cartella del tema o del tema figlio e copialo nella cartella di backup. Nella cartella del tema o del tema figlio, scorri verso il basso fino a functions.php e fai clic con il pulsante destro del mouse sul nome del file. Seleziona Copia .

copiando il file functions.php in cpanel

Apparirà una finestra di dialogo che ti chiederà di inserire il percorso in cui vuoi copiare il file. Il percorso della cartella in cui ti trovi attualmente sarà precompilato, quindi se il percorso del file della cartella di backup è diverso da quello che vedi, digita il percorso corretto. Fare clic su Copia file .

Passaggio 4: torna a functions.php nella directory del tema o del tema figlio. Ora che hai un backup, puoi tornare al file functions.php nella directory del tema o del tema figlio e iniziare a modificare.

Fare clic con il pulsante destro del mouse su functions.php , quindi fare clic su Modifica .

Passaggio 5: modifica functions.php . Ora dovresti vedere il contenuto del tuo file functions.php sullo schermo. Dovrebbe assomigliare a qualcosa di simile a questo:

esempio del file functions.php in cpanel

Aggiungi o modifica le informazioni di cui hai bisogno, quindi salva il file.

Utilizzo di un plug-in per aggiungere funzioni al tuo sito WordPress

Invece di modificare direttamente il file functions.php , puoi utilizzare un plug-in come Code Snippets per aggiungere funzioni al tuo sito web. Se hai bisogno di aggiungere un discreto numero di funzioni al tuo sito, può essere facile perdere traccia di quali funzioni hai ancora bisogno e quali no.

Code Snippets fornisce un'interfaccia utente grafica (GUI) per la gestione dei blocchi di codice PHP. Puoi aggiungere descrizioni in modo da sapere cosa dovrebbe fare il codice e attivare e disattivare blocchi di codice, proprio come attivare e disattivare un plug-in.

Dal momento che non stai apportando modifiche a functions.php , è un metodo molto più sicuro per aggiungere funzioni PHP al tuo sito WordPress.

Come proteggere functions.php dagli exploit di sicurezza

Il file functions.php è spesso un bersaglio degli hacker, quindi tenerlo al sicuro dovrebbe essere una priorità assoluta. Segui i seguenti passaggi per proteggere il tuo file functions.php :

1. Installa un plug-in di sicurezza

Utilizzando un plug-in di sicurezza, godrai di una protezione avanzata dagli hacker in più aree del tuo sito.

Jetpack Security è un'opzione economica che aiuta a proteggere il tuo sito da attacchi dannosi. Include la scansione del malware e le correzioni con un clic, la protezione dagli attacchi di forza bruta, il monitoraggio dei tempi di inattività, un registro delle attività per sapere se e quando il tuo sito è stato violato e la protezione dell'accesso tramite l'autenticazione a due fattori (2FA).

Messaggistica sulla homepage di Jetpack

Jetpack Security monitora anche il tuo sito per eventuali modifiche ai file principali di WordPress, plug-in obsoleti o non sicuri e altre vulnerabilità in modo che tu possa rilevarle prima che un hacker li trovi e ne tragga vantaggio.

Inoltre, fornisce backup di WordPress in tempo reale in modo da poter ripristinare rapidamente una versione pulita se qualcosa va storto, anche se non riesci ad accedere al tuo sito.

2. Nega l'accesso al core functions.php di WordPress tramite il file . file htaccess

Se il tuo sito web è ospitato su un server Apache, puoi utilizzare un file . htaccess per proteggere il tuo file functions.php di base di WordPress bloccando l'accesso all'intera cartella wp-includes .

Passaggio 1: scarica .htaccess

Usando SFTP o cPanel, vai alla cartella principale del tuo sito web. Fare clic con il tasto destro su . htaccess e seleziona Download per scaricare il file sul tuo computer locale.

Passaggio 2: aggiungi il codice per bloccare l'accesso alla cartella wp-includes

In un codice sorgente o in un editor di testo normale, apri . htaccess e aggiungi il seguente codice:

 <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 il tuo file. Assicurati che il tuo programma editor non includa un'estensione di file. Se stai usando Notepad++ o Text Edit, potrebbe aggiungere un'estensione di file .txt. Il file dovrebbe essere semplicemente chiamato '.htaccess.'

Passaggio 3: carica il file . htaccess torna alla cartella principale

Carica il tuo modificato. htaccess nella cartella principale del tuo sito web. Ti verrà chiesto se desideri sovrascrivere il file esistente. Fare clic su OK .

Adesso tuo . htaccess dovrebbe bloccare l'accesso esterno a qualsiasi file nella cartella wp-includes , incluso functions.php .

3. Negare l'accesso a functions.php utilizzando functions.php

Puoi bloccare l'accesso diretto al tuo file functions.php aggiungendo il seguente frammento di codice direttamente a functions.php .

 if (!empty($_SERVER['SCRIPT_FILENAME']) && 'functions.php' == basename($_SERVER['SCRIPT_FILENAME'])) { die ('Access denied!'); }

4. Nascondi functions.php al di fuori della directory principale

Gli hacker conoscono la posizione predefinita di tutti i file WordPress standard. La modifica della posizione dei file sensibili in una cartella ad accesso limitato al di fuori della directory principale può tenerla fuori dalla portata degli hacker. Questo processo è un po' più complicato della semplice aggiunta di codice al tuo file .htaccess , ma vale lo sforzo extra per il livello aggiuntivo di protezione del tuo sito web.

In pochi passaggi, puoi proteggere functions.php al di fuori della cartella principale.

Passaggio 1: scarica il file functions.php corrente

Se stai spostando il file functions.php del tuo tema, lo troverai in wp-content → temi → tuo tema . Il file del tuo tema figlio sarà in wp-content → temi → yourtheme-child .

Una volta trovato il file functions.php , scaricalo sul tuo computer tramite SFTP o cPanel.

Passaggio 2: crea una nuova directory al di fuori della cartella principale

Spostati al di fuori della tua directory principale alla cartella di file successiva di livello superiore. Dovresti vedere il nome della tua cartella principale e molte altre cartelle. In questa directory, fare clic con il pulsante destro del mouse e selezionare Crea directory .

creando una directory in Filezilla

Assegna alla tua directory un nome facile da ricordare come posizione del tuo file functions.php .

Passaggio 3: carica functions.php nella tua nuova cartella

Carica il file functions.php che hai scaricato in precedenza nella tua nuova cartella tramite SFTP o cPanel.

caricamento del file functions.php

Controlla la tua nuova cartella e i permessi del file functions.php e assicurati che siano impostati su 600.

impostare i permessi per il file functions.php

Passaggio 4: indirizza WordPress al nuovo file functions.php

Dovresti avere un file functions.php nella tua nuova directory così come il file functions.php originale che è ancora nella tua cartella del tema. Affinché WordPress possa trovare e utilizzare il file corretto, ti consigliamo di eliminare tutte le informazioni nel file functions.php del file del tema e il seguente frammento di codice:

 <?php include('/home3/usr/securefunctions/functions.php'); ?>

Nota: il percorso del tuo file avrà un aspetto diverso, poiché utilizzerai i nomi delle directory del tuo server.

In cPanel, puoi aprire il file functions.php della directory principale e modificarlo direttamente oppure puoi modificare la copia che hai scaricato in precedenza sul tuo computer locale utilizzando un editor di codice sorgente. Per questo esempio, abbiamo modificato la copia scaricata in precedenza utilizzando Atom.io.

Salva il tuo file funtions.php e caricalo di nuovo nella directory del tuo tema.

restituendo il file functions.php tramite ftp

Ti verrà chiesto se desideri sovrascrivere il file. Fare clic su OK .

Ora, WordPress dovrebbe fare riferimento al tuo nuovo file functions.php nella sua posizione sicura al di fuori della cartella principale.

4. Cambia il nome del tuo file functions.php

Cambiare il nome del tuo file functions.php è un altro passo che puoi fare per tenerlo al sicuro dagli hacker. Dovrai ospitare questo file al di fuori della tua cartella principale, quindi se hai seguito il processo in Nascondi functions.php al di fuori della directory principale , dovrai solo eseguire alcuni passaggi aggiuntivi.

Passaggio 1: nella tua directory sicura al di fuori della cartella principale, cambia il nome del file di functions.php

Vai alla cartella functions.php ospitata al di fuori della tua directory principale e cambia il nome del file in qualcosa di unico, come "keep-out.php" o "queste non sono le funzioni che stai cercando. php' . Ok, quest'ultimo è un po' lungo, ma non importa come lo chiami finché lo includi nel percorso del file nella copia della cartella del tema di functions.php .

Passaggio 2: modifica il codice in functions.php nella directory principale per riflettere il cambio di nome

Ora che hai cambiato il nome in qualcosa di diverso da functions.php , dovrai assicurarti che la tua copia della directory del tema di functions.php punti al nome del file corretto.

Scarica la copia della cartella principale di functions.php sul tuo computer locale e modificala con il tuo editor di testo. Cambia il nome del file functions.php con il tuo nuovo nome file, quindi salva il file.

 <?php include('/home3/usr/secureconfig/keep-out.php'); ?>

Passaggio 3: carica functions.ph p nella directory del tema

Ti verrà chiesto se desideri sovrascrivere il file esistente. Fare clic su OK .

Ora WordPress dovrebbe puntare al tuo file di funzioni rinominato.

Ulteriori livelli di sicurezza per functions.php

Puoi aggiungere una protezione aggiuntiva al tuo sito web nel suo insieme, incluso il tuo file functions.php , apportando modifiche simili al tuo file wp-config come rinominarlo, ospitarlo al di fuori della directory principale e negare l'accesso pubblico.

Se vedi codice sospetto nei tuoi file functions.php e temi di essere già stato violato, ti consigliamo di leggere come rilevare e rimuovere malware dal tuo sito Web WordPress.

Quale codice posso aggiungere a functions.php in WordPress?

Ci sono molti frammenti di codice diversi che puoi aggiungere al tuo file functions.php di WordPress. Tuttavia, spesso è meglio utilizzare un plug-in (o scrivere il proprio plug-in) per molte funzioni. Se il codice che vuoi aggiungere è specifico per il tuo tema, puoi aggiungere quel codice PHP al file functions.php del tuo tema figlio.

Di seguito sono elencate alcune funzioni utili che potresti inserire nel file functions.php del tuo tema figlio:

Aggiunta di un nuovo utente amministratore in functions.php

Se hai perso l'accesso come amministratore alla dashboard di WordPress e non riesci a recuperare il tuo nome utente o password tramite e-mail, puoi creare un nuovo utente amministratore tramite il tuo account di hosting. Sia tramite SFTP che cPanel, puoi scaricare il tuo file functions.php e aggiungere il seguente codice per creare un nuovo utente amministratore per il tuo sito.

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

Nel codice sopra, sostituisci "il tuo nome utente", "la tua password" e "la tua email" con le tue credenziali. Salva il tuo file functions.php e ricaricalo nella cartella del tuo tema. Questo creerà un nuovo utente amministratore con il nome utente, la password e l'indirizzo e-mail che hai assegnato nel codice.

Dopo aver caricato il file, vai alla pagina di accesso del tuo sito e usa il tuo nuovo nome utente e password per accedere. Una volta che l'accesso è riuscito e hai confermato di avere i privilegi di amministratore, dovresti rimuovere il codice che hai aggiunto a crea il tuo nuovo account amministratore da functions.php .

Aggiunta e rimozione delle dimensioni delle immagini in functions.php

Quando carichi un'immagine nella Libreria multimediale di WordPress, vengono generate più varianti della tua immagine. WordPress ha miniature predefinite, dimensioni piccole, medie e grandi che vengono utilizzate in aggiunta all'immagine a dimensione intera. Il tuo tema generalmente estrarrà la dimensione dell'immagine ottimale per le singole parti del tuo sito.

Se stai creando il tuo tema o hai bisogno di apportare modifiche a un tema figlio per adattarsi a dimensioni di immagine personalizzate aggiuntive, puoi farlo nel tuo file functions.php .

Usa il codice seguente e cambia il nome della dimensione dell'immagine personalizzata da "custom-small-square" e "custom-landscape" a qualsiasi nome desideri utilizzare. I numeri accanto al nome della dimensione dell'immagine personalizzata rappresentano la dimensione dell'immagine in pixel, quindi inserisci i valori dei pixel con larghezza prima e altezza secondo.

 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 ?

La risposta breve? Sì.

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

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.