Un lettore mi ha chiesto: "get_post_meta()
(con terzo parametro impostato a true
) restituisce l'ID del custom field o il valore?". Ecco la risposta.
Il terzo parametro della funzione get_post_meta()
restituisce il valore del custom field come stringa. Se omesso, il valore restituito è un array. Quindi se tu hai salvato un ID
in un custom field chiamato my_id
avrai:
$my_id = get_post_meta( get_the_ID(), 'my_id', true );
var_dump( $my_id ); // (string) 3
Naturalmente se vuoi usare questo valore come numero e non come stringa lo devi prima convertire:
$my_num_id = (int) $my_id; // 3
Oppure:
$my_num_id = intval( $my_id ); // 3
Tieni presente che tutti i valori contenuti nel custom field vengono convertiti in stringhe dal parametro true
. Quindi se hai un valore di tipo null
questo verrà convertito nella stringa null
. In questo modo la verifica con la funzione is_null()
sarà inutile poichè il valore ora è una semplice stringa.