In questo breve tutorial vedremo come sia possibile calcolare dinamicamente un campo età con WordPress e mostrarlo su pagine e post.
L’esigenza può nascere, ad esempio, quando abbiamo la classica pagina con un team di persone, per ognuna delle quali vogliamo mostrare l’età. Ovviamente questo è possibile a mano, scrivendo l’età come testo semplice; tuttavia procedendo in questo modo saremo obbligati ad aggiornare manualmente i valori man mano che il tempo passa.
Automatizzare questo processo è quindi indispensabile per ridurre il carico di lavoro di manutenzione del nostro sito.
Indice dei contenuti
Come calcolare automaticamente l’età con WordPress
Supponiamo di avere sul nostro sito una sezione Team, che contiene un elenco di foto di persone con nome e età. Il nostro obiettivo è popolare dinamicamente il valore età.
1. Creiamo le pagine dei membri del team
Per prima cosa, dobbiamo avere una pagina per ogni membro del team. Creiamo quindi una pagina per ogni membro del team, dandogli il nome corretto e lasciandola pure priva di contenuti. Per maggior ordine, indichiamo la pagina team come pagina genitore.
2. Installiamo ACF (Advanced Custom Fields
Per ogni membro del team dobbiamo poter indicare una data di nascita. Per fare questo, installiamo ed attiviamo il plugin Advanced Custom Fields.
3. Creiamo i campi custom necessari
In ACF creiamo due campi:
- Campo Data di Nascita (birth_date), di tipo data;
- Campo Età (age), di tipo numerico.
Per maggior odine, impostiamo come condizione che questi campi siano visibili soltanto nelle pagine il cui genitore è team.
4. Popoliamo il campo Data di Nascita
Ora torniamo sulle pagine che abbiamo creato per ogni membro del team. Qui ora potremo vedere i due nuovi campi appena creati. Compiliamo per ogni membro del team soltanto il campo Data di nascita.
5. Aggiungiamo la funzione per il calcolo dell’età
Ora quello che vogliamo ottenere è che il campo età venga automaticamente compilato ogni volta che la pagina viene visualizzata attraverso un semplice calcolo:
Data odierna – data di nascita;
Per fare questo, dobbiamo aggiungere una funzione nel file functions.php del nostro tema.
Andiamo su Aspetto > Editor del tema e modifichiamo il file aggiungendo il seguente codice:
function my_acf_render_field($post_id)
{
// get year of birth value
$birthDate = get_field('birth_date', $modelID);
//explode the date to get month, day and year
$birthDate = explode("/", $birthDate);
//get age from date or birthdate
$age = (date("md", date("U", mktime(0, 0, 0, $birthDate[0], $birthDate[1], $birthDate[2]))) > date("md")
? ((date("Y") - $birthDate[2]) - 1)
: (date("Y") - $birthDate[2]));
// update the age field
update_field('age', $age);
}
// run after ACF saves the $_POST['acf'] data
add_action('acf/render_field', 'my_acf_render_field', 20);
6. Visitiamo la pagina per popolare automaticamente il campo età
Da questo momento visualizzando le singole pagine dei membri del team lo script entrerà in funzione ed andrà a calcolare e quindi a scrivere l’età della persona nel campo Età.
Mostrare dinamicamente il campo età
A questo punto il gioco è fatto; non resta che mostrare il custom field Età tramite i metodi classici di ACF, come ad esempio lo shortcode:
[acf field="age" post_id="387"]
In questo modo non dovrete più preoccuparvi di tornare sul sito per aggiornare questo valore continuamente.
Hai risolto il tuo problema?
Se la risposta è si, che ne dici di offrirmi un caffè ☕️ ? Usa il tasto qui sotto😉Ti ho aiutato a risolvere un problema?
Dimostra la tua gratitudine con un piccolo gesto!
Lascia un Commento
Vuoi partecipare alla discussione?Sentitevi liberi di contribuire!