20+ Codici per functions.php

Conosci questi 20+ codici per functions.php?

Quando si lavora con WordPress, o con un qualsiasi linguaggio di programmazione, avere a portata di mano delle porzioni di codice che ti permettono di velocizzare il tuo lavoro è una cosa veramente utile! In questo articolo ne ho inseriti più di 20 ma sarei curioso di scoprire il tuo preferito!

WordPress è una piattaforma davvero potente che ci permette di realizzare veramente qualsiasi tipologia di sito, se si unisce questa caratteristica alla sua semplicità di utilizzo si capisce facilmente come mai questa piattaforma riscuote così tanto successo.

Se il tuo obiettivo è quello di incrementare la tua velocità di sviluppo e realizzare nuovi progetti nel minor tempo possibile, ti potrebbe far comodo dare una lettura a questa piccola collezione di funzioni e buone pratiche che puoi inserire direttamente all’interno del tuo functions.php e che ti permetteranno di portare la tua conoscenza WordPress ad un nuovo livello!

Per dare una più semplice lettura degli argomenti trattati, ho deciso di inserire la lista dei contenuti che ti permetterà di saltare facilmente da un argomento ad un altro:

  1. Rimuovi i Dettagli Inutili;
  2. Decidi la Lunghezza dei Riassunti;
  3. Evitare di Saltare dopo “Continua a Leggere”;
  4. Definisci la Larghezza del Contenuto;
  5. Mostra il numero di Commenti, quello Giusto;
  6. Sito in Manutenzione;
  7. Snapshot di Qualsiasi Tipo;
  8. Mostrare i Grafici di Google Trends;
  9. Mostrare i Commenti agli Autori nel Pannello di Amministrazione;
  10. Login con Username o Email;
  11. Modifica “Inserisci qui il titolo” nei CPT;
  12. Aggiungi le Facebook Open Graph;
  13. Evidenziare le Parole Cercate;
  14. Rimuovi le Dimensioni non Necessarie;
  15. Restituisci ID della Pagina Genitore;
  16. Redirect basato sul Ruolo dell’Utente;
  17. Mostra Lista Commentatori;
  18. Inserisci CPT nelle Pagine Archivio;
  19. Aggiungi Post ID nelle tabelle di Articoli e Pagine;
  20. Aggiungere Pointers per Temi e Plugin;
  21. Disabilita il Menu di Aiuto per non Admin;
  22. Racchiudi Automaticamente le Immagini.

1. Rimuovi i Dettagli Inutili

Abbiamo già parlato della strana abitudine che WordPress ha nell’inserire delle informazioni all’interno delle nostre pagine e anche del fatto che la struttura classica di sua una installazione potrebbe comportare qualche problema di sicurezza. Grazie a questo piccolo blocco di codice potrai rimuovere molte delle informazioni che questa piattaforma inserisce all’interno di <head> e che potrebbero aiutare i malintenzionati a trovare delle falle di sicurezza presenti nel nostro sistema.

Rimuovendo queste azioni, che nel 99% dei casi non vengono neanche utilizzate, sarai in grado di nascondere tutte queste informazioni.

2. Decidi la Lunghezza dei Riassunti

Sicuramente i riassunti di un articolo sono una caratteristica veramente molto interessante, infatti, permettono di avere una porzione del testo che abbiamo scritto in modo del tutto automatico. Anche se molto spesso gli utenti più smaliziati inseriscono un proprio riassunto (cosa che non fa mai male) potrebbe essere comodo avere la possibilità di modificare la lunghezza di questi testi per rispettare le necessità del cliente.

Con questa semplicissima funzione hai detto a WordPress di modificare la lunghezza standard di un riassunto, impostata generalmente a 55 parole, riducendola al massimo a 20. In questo caso abbiamo ridotto il numero di parole che può contenere, ma niente ti vieta di inserire un valore più grande!

3. Evitare di Saltare dopo “Continua a Leggere”

Questa è forse una delle caratteristiche più strane di WordPress. Ti è mai capitato di leggere un articolo e, cliccando sul pulsante Continua a Leggere, ti sei trovato in una nuova pagina a visualizzare soltanto la parte di contenuto presente dopo questo pulsante? A rigor di logica non ci sarebbe niente di strano, sopratutto se ci fossero dei caricamenti Ajax a facilitare la transizione, ma il fatto di caricare una nuova pagina e trovarmi già con l’articolo iniziato mi ha reso sempre confuso.

Se questa funzionalità ha sempre dato fastidio anche a te e non vuoi che anche i tuoi lettori siano vittime di questo comportamento puoi semplicemente utilizzare questa funzione e sfruttare i Filter Hook per modificare il comportamento standard di <!--more-->.

4. Definisci la Larghezza del Contenuto

Ultimamente WordPress utilizza la possibilità di dichiarare la larghezza del contenuto di un tema dichiarandola direttamente all’interno del file functions.php, inizialmente mi è sembrata una mossa un pò “strana” visto che grazie al linguaggio CSS è possibile determinare tale larghezza, ma poi mi sono accorto che WordPress utilizza questa dimensione quando andiamo ad inserire del contenuto multimediale, come ad esempio una galleria o un video YouTube inserito con il singolo link.

Questa semplicissima dichiarazione, permetterà a WordPress di utilizzare questa grandezza e far adattare questi tipi di contenuti al tuo contenitore. Può sembrare un pò riduttivo avere un unico valore, in fin dei conti, potrei desiderare di avere dei contenuti con una larghezza maggiore all’interno delle Pagine che ho creato… Per fortuna è stata già inserita la sua richiesta all’interno del Trac di questa piattaforma, vediamo come finisce!

Utilizzando questa caratteristica, WordPress ci consiglia anche di aggiungere le seguenti modifiche al nostro style.css per migliorarne la compatibilità.

5. Mostra il Numero di Commenti, quello Giusto

Con la classica installazione, WordPress conta come commenti anche i trackback e i ping che vengono effettuati sul nostro post. Dato che molte volte queste sono delle informazioni che teniamo nascoste, personalmente lo faccio sempre, il conteggio di questi elementi potrebbe essere di gran lunga superiore ai commenti reali che sono stati generati dal nostro articolo. Per evitare questa situazione puoi inserire il seguente codice:

Ecco fatto che in un colpo solo il tuo WordPress sarà in grado di mostrare soltanto il numero di commenti inseriti dai tuoi utenti e nessuno potrà più dirti che stai mostrando il numero sbagliato.

6. Sito in Manutenzione

Se lavori direttamente sul server dove è ospitata la tua installazione WordPress (cosa che comunque ti sconsiglio), capita molto spesso di dover mettere il sito in manutenzione per il tempo necessario allo sviluppo delle modifiche che vogliamo applicare. Anche se esistono moltissimi plugin validi che permettono di fare questo, le mie preferenze cadono su questo piccolo blocco di codice:

Grazie a questo semplice blocco di codice, sarai in grado di sviluppare in tutta tranquillità le modifiche di cui hai bisogno e nascondere il sito a tutti gli altri utenti offrendo un semplice messaggio personalizzato che tranquillizzerà i tuoi visitatori. Una volta terminate le modifiche, potrai semplicemente commentare la riga di wp_die() e far tornare il tuo sito alla normalità.

7. Snapshot di qualsiasi Sito

Con questo blocco di codice apriamo le porte agli Shortcode che ti permettono di utilizzare degli elementi all’interno del editor di testo TinyMCE, l’editor di default inserito in WordPress. Se durante la creazione dei tuoi articoli ti trovi spesso a realizzare degli screenshot di siti web esterni, sono sicuro che il seguente codice ti sarà veramente utile!

Adesso che hai creato il tuo nuovo shortcode potrai tranquillamente utilizzarlo seguendo questo veloce esempio:

8. Mostrare i Grafici di Google Trends

Ecco un altro blocco di codice che ti permette di creare un interessante shortcode. Se nei tuoi articoli fai spesso riferimento a Google Trends e ai suoi grafici, grazie a questo sarai in grado di includere direttamente questi all’interno dei tuoi articoli.

A questo punto avrai a tua disposizione lo schortcode [trends] che potrai utilizzare in questo modo:

Ricordati soltanto di aggiungere un + per tutti quei termini che fanno parte di una stessa chiave di ricerca ed il gioco è fatto!

9. Mostra i Commenti agli Autori in Admin

Semplicissimo ma utilissimo blocco di codice è rappresentato dalla seguente funzione:

Quello che fa è mostrare nella tua bacheca i commenti relativi agli articoli che quel determinato autore ha pubblicato. Questo è un ottimo modo per permettere agli autori del tuo blog di consultare soltanto i commenti che sono stati aggiunti ai loro articoli senza doverli confondere con i commenti che hanno generato gli altri autori.

10. Login con Username o Mail

Benché il nome utente è una cosa molto utile da inserire in qualsiasi sito che permette di effettuare un login, talvolta capita che il proprio nome utente preferito sia stato già preso. Questo ci porta a creare dei nomi utente di fortuna che ci permettono di loggarci velocemente all’interno del sito. Purtroppo questi nomi utenti si dimenticano facilmente e se preferisci dare al tuo utente la possibilità di loggarsi anche tramite il proprio indirizzo email (che raramente viene modificato)  con questo blocco di codice potrai aggiungere questa caratteristica nella schermata di login del tuo WordPress:

Con la prima Action Hook andiamo a modificare il comportamento di default della login in WordPress mentre con il secondo andiamo a modificare il testo che viene mostrato fornendone uno più indicativo rispetto alle informazioni che il modulo si aspetta.

Fai attenzione che questo codice modifica il testo del login soltanto per login in Italiano, se devi realizzare siti multilingua ti conviene sviluppare un controllo differente.

11. Modifica “Inserisci qui il titolo” nei CPT

Quando realizziamo un nuovo tema per un cliente, magari come nel recente esempio di Fabrizio, talvolta i Custom Post Type che realizziamo non hanno un vero e proprio titolo ma piuttosto potrebbe essere il nome di una ricetta, quello di un prodotto o qualsiasi altra cosa. In questi casi specifici non è molto utile avere a che fare con il classico testo “Inserisci qui il titolo” ma farebbe più comodo inserire qualcosa come “Nome Ricetta” o “Nome Prodotto“.

Per poter utilizzare correttamente questo esempio dovrai sostituire il testo POST_TYPE con il nome che hai fornito al tuo personale post type e potrai inserire il testo ottimizzato andando a modificare il valore stringa della variabile $title.

12. Aggiungi le Facebook Open Graph

Benché molti plugin SEO permettono di inserire il codice per utilizzare le Open Graph di Facebook, ed il plugin WordPress SEO by Yoast ne è un ottimo esempio, talvolta non è possibile sapere a priori se il proprio cliente sarà in grado di configurare, o installare, tale plugin. Per evitare di ricevere nervose telefonate che ci avvertono che il tema che abbiamo appena rilasciato non permette di visualizzare correttamente le immagini del tema in un aggiornamento Facebook, potremmo pensar bene di utilizzare questo semplice blocco di codice che risolverà qualsiasi problema:

Tutto quello che dovrai fare sarà sostituire ADMIN_IDpresente nel primo tag <meta> con quello che potrai trovare all’indirizzo http://graph.facebook.com/nomefacebook, ricorda semplicemente di sostituire nomefacebook con il tuo nome personale ed il gioco è fatto!

Puoi anche controllare che tutto sia andato a buon fine facendo dei test con il debug di Facebook che si trova a questo indirizzo: https://developers.facebook.com/tools/debug.

13. Evidenziare le parole Cercate

Anche se la funzione di ricerca nativa in WordPress non è tra le più poteni presenti sul mercato, rappresenta comunque un’ottima soluzione da adottare su siti che non hanno disponibilità economiche per appoggiarsi a soluzioni commerciali e che comunque non vogliono mostrare annunci pubblicitari come nel caso di AdSense. Anche se non si stanno utilizzando soluzioni professionali aggiungere le parole cercate evidenziate all’interno dei risultati di ricerca, sopratutto nel titolo e nel riassunto, sarà molto utile agli utenti che utilizzano questa funzionalità.

Grazie a questa funzione sarai in grado di aggiungere la classe search-excerpt a tutte le parole che sono state utilizzate per la ricerca e potrai applicarvi degli stili personali all’interno del tuo CSS.

14. Rimuovi le Dimensioni non Necessarie

Molte volte capita che, durante l’uso di un tema o plugin, il numero delle dimensioni delle immagini sia molto ridotto o che vengano utilizzate delle dimensioni personalizzate. Se vuoi rendere l’esperienza del tuo utente il più semplice possibile, puoi sempre pensare di rimuoverle completamente utilizzando questo codice:

Puoi utilizzare una o tutte queste funzioni per rimuovere completamente queste opzioni dalla schermata di inserimento immagine.

15. Restituisci ID della Pagina Genitore

La gerarchia presenta all’interno delle Pagine WordPress è una funzionalità molto utile, ci permette di creare una relazione tra le pagine che potrà essere sfruttata all’interno della navigazione del sito. Talvolta vogliamo anche conoscere l’ID della pagina genitore, magari per aggiungere qualche regola CSS che ne determina la grafica… Per fare questo, tutto quello che devi fare è utilizzare il codice presentato qua sotto:

Adesso hai a disposizione la funzione is_subpage() che potrai utilizzare ovunque desideri.

16. Redirect Basato sul Ruolo dell’Utente

Se hai bisogno di creare un redirect per allontanare alcuni tipi di utenti dal pannello di amministrazione di WordPress, magari perché ne hai sviluppato uno più in linea con la grafica del sito, questo blocco di codice ti sarà molto utile per portarli sulla pagina corretta:

In questo esempio stiamo selezionando tutti gli utenti con ruolo contributor e li abbiamo reindirizzati alla pagina nuova-url. Per utilizzare correttamente questo snippet non dovrai fare altro che sostituire la corretta URL e impostare il controllo sul ruolo che desideri, il codice penserà al resto.

17. Mostra una Lista dei Commentatori

Se hai un sito che fa molti commenti, una soluzione semplice semplice per poter interessare ancora di più i tuoi lettori a commentare i tuoi articoli, potrebbe essere quella di creare una lista degli utenti che hanno inserito il maggior numero di commenti:

Con la funzione top_comment_authors() a tua disposizione adesso sarai in grado di fare proprio questo! Potrai utilizzare questa funzione ovunque tu desideri per fare in modo che i tuoi utenti avranno un maggior interesse nell’inserire commenti utili dato che, con la lista generata, avranno la possibilità di inserire un link di ritorno al proprio sito.

18. Inserisci CPT nelle Pagine Archivio

Abbiamo visto prima un blocco di codice che permetteva di modificare il classico suggerimento che WordPress ci fornisce nella creazione di un post. Con questo, invece, ti sarà possibile inserire i post type che condividono le stesse categorie di un classico post WordPress che altrimenti rimarranno nascoste a queste pagine.

Appena salvato questo codice nel tuo functions.php potrai vedere che le tue pagine archivio si sono popolate anche grazie ai Custom Post Type che hai inserito nel tuo WordPress.

19. Aggiungi post ID nelle tabelle di Articoli e Pagine

Talvolta capita di dover utilizzare gli ID creati per determinati articoli o pagine per poterli, magari, richiamare in altri punti di WordPress. Fino a poco tempo fa, l’unica soluzione che avevo trovato, era quella di posizionare il mouse sopra il titolo dell’articolo (all’interno della tabella presente in Tutti gli articoli) e controllare il valore che la variabile post aveva assunto all’interno della URL.

Ecco come Scovavo gli ID di un articolo o pagina

Ma grazie all’uso di questo blocco di codice, adesso sono in grado di trovare l’ID che sto cercando direttamente all’interno della tabella di gestione Articoli o Pagine:

20. Aggiungere Pointers per Temi e Plugin

Se hai già installato WordPress SEO by Yoast o altri plugin che utilizzano i Pointers avrai sicuramente notato che appena installato un nuovo tema o plugin si presenteranno delle nuvolette che ti accompagnano all’uso dello stesso tema o plugin. Questa funzionalità è davvero molto utile, sopratutto se il tema o plugin che abbiamo realizzato risulta avere molte opzioni. Ecco che il codice presentato qua in basso ti permetterà di utilizzare questa funzionalità per arricchire i tuoi progetti:

In questo caso, grazie ad un pò di jQuery, abbiamo selezionato l’elemento con id #menu-appearance, equivalente alle opzioni di Apparenza presenti in WordPress, ed abbiamo aggiunto il testo racchiuso nella variabile $pointer_content. Se vuoi utilizzare questa funzionalità per i menu creati dal tuo progetto, tutto quello che devi fare è impostare il selettore ad i tuoi nuovi elementi ed il gioco è fatto!

21. Disabilita il menu di Aiuto per l’Amministratore

La caratteristica di avere una finestra a scomparsa di aiuto è una cosa veramente utile e che WordPress fa veramente bene, tuttavia potremmo desiderare che soltanto l’amministratore del sito sia in grado di vederli. Ecco quindi che con questo semplicissimo codice non dovremo più preoccuparci della sua presenza:

Adesso è soltanto l’amministratore l’unico in grado a visualizzare questo menu e il nostro pannello sarà ulteriormente semplificato.

22. Racchiudi Automaticamente le Immagini

Quando ci troviamo a sviluppare dei siti WordPress avanzati, non possiamo mai sapere quali saranno le richieste dell’utente. In base a queste dovrai trasformare il comportamento di questa piattaforma per adattarlo alle sue esigenze, proprio per questo ho trovato molto utile questa snippet che permette di racchiudere le immagini caricate in dei contenitori HTML che posso stilare successivamente grazie al codice CSS:

In questo esempio, il contenitore è un semplice <span> con una classe className, ma tu sarai libero di inserire qualsiasi  contenitore HTML desideri.

Conclusioni

In questo articolo ho desiderato condividere con te diverse snippet che mi sono state utili nella mia carriera e che tutt’oggi sono in grado di velocizzare il mio sviluppo. Ovviamente non è tutta farina del mio sacco, molti di questi codici sono stati trovati su internet grazie a siti del calibro di wpBeginner o wpSnipp, ma spero comunque che tu abbia apprezzato questo lavoro di raccolta e che tu desideri condividere con me e con i lettori di questo blog gli snippet che ti hanno aiutato nella TUA carriera.

Mi farebbe molto piacere conoscerli dato che la condivisione di conoscenza ci permette di migliorarci a vicenda e, personalmente, sono alla costante ricerca di nuovi spunti!

Lascia il tuo Pensiero

11 Responses to “Conosci questi 20+ codici per functions.php?”

    • Andrea Barghigiani

      Se devo essere sincero, questa non è una risposta alla quale potrei darti una giustificazione tecnica. l’ho inserito semplicemente perché ho ritenuto che fosse utile e da veloci test resta possibile iscriversi agli RSS con il link che viene inserito nella sidebar.

      Guardo un pò in giro e se trovo una risposta migliore l’aggiungo qua sotto!

      Grazie intanto per la partecipazione!

      Rispondi
      • Mte90

        La presenza del tag nell’head è utile per alcuni aggregatori che lo cercano lì se gli viene fornito solamente il sito (si hanno questo potere magico che dato il sito cercano il feed).
        Io di solito lo rimuovo solo nei siti vetrina o che non usano gli articoli ma solo le pagine.

        Rispondi
  1. Adriano

    Ciao Andrea,

    proprio oggi mi sono trovato a ottimizzare un tema che non riusciva, ne con W3 Total Cache ne con altre cache, a far sparire la versione nei file css e js. Per intenderci un qualcosa di simile a style.css?ver=3.7.1

    Dopo lunghe e laboriose peripezie sono riuscito a scovare una funzione grazie alla quale adesso sia pingodm che speedtest di Google mi danno 100/100.

    Applicarla è semplice e va messa in fondo al file functions.php prima dei tag php di chiusura. Farla leggere è un pelo più laborioso visto non basta cancellare le cache del sito premendo CTRL+F5 sulla home page e cancellare le cache da W3 Total Cache (o altra cache che sia) ma è necessario aggiornare con CTRL+F5 anche la pagina di speedtest e pingdom; almeno fino a che non l’ho fatto i risultati non cambiavano di una virgola.

    La funzione è questa:

    Se vuoi aggiungerla all’elenco … magari a qualcuno può fare comodo.

    Adriano

    Rispondi
  2. Adriano

    Visto che oggi sono in buona ti posto un’altra funzione per far sparire la versione dai file css e js. Purtroppo non ricordo dove l’ho trovata.

    Rispondi
  3. Settimo

    Ciao Andrea,

    ho seguito il primo punto “Rimuovi i Dettagli Inutili”, ma in realtà vorrei mantenere i Feed RSS ed escludere solo i feed relativi ai commenti.

    Come posso fare?

    In questo momento per me far vedere i feed dei commenti è un dettaglio davvero inutile…

    Grazie

    Rispondi
  4. paolotti

    ciao Andrea, il tuo sito è sempre una grandissima fonte di informazioni utili! per quanto riguarda il titolo nei CPT oltre che personalizzarlo (cosa molto utile) posso renderlo obbligatorio per determinati postType?

    Rispondi
    • Andrea Barghigiani

      Ciao paolotti,

      scusa se ti rispondo con un po’ di ritardo ma è stato un mese di fuoco 🙂 Venendo al tuo problema ti dico immediatamente: , puoi fare una cosa del genere.

      Praticamente devi creare un plugin (oppure inserisci il tutto nello stesso plugin del tuo CPT) all’interno del quale crei un file JS che controllerà se l’utente ha inserito qualcosa nel campo titolo. Purtroppo non c’è una soluzione lato PHP perché in fin dei conti WordPress permette di salvare dei titoli vuoti dato che andrà ad inserire lui un testo fittizio.

      Spero di aver chiarito i tuoi dubbi e averti indicato la via per risolvere il tuo problema.

      Rispondi
  5. mymicsa

    Ciao Andrea!
    al punto 16 citi la funzione current_user_can(‘ ‘) e mi chiedevo se la potessi sfruttare per cambiare totalmente header solo per alcuni utenti? E’ la strada giusta? Grazie mille.

    Rispondi