Calcolare l'età con WordPress

In questo breve tutorial vedremo come sia possibile calcolare dinamicamente un campo età con WordPress e mostrarlo su pagine e post.

Sfrutta al massimo WordPress

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.

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.

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.

Sfrutta al massimo WordPress


Hai risolto il tuo problema?

Se la risposta è si, che ne dici di offrirmi un caffè ☕️ ? Usa il tasto qui sotto😉
Latest posts by Paolo Sartorio (see all)
0 commenti

Lascia un Commento

Vuoi partecipare alla discussione?
Sentitevi liberi di contribuire!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.