Avisos
Vaciar todo

Mostrar la edad en años con acf  

Página 1 / 2
 
María Ángeles
 María Ángeles
Usuario activo

hola, estoy trabajando con divi y tengo este código en el template
"echo do_shortcode('[et_pb_section global_module="4084"][/et_pb_section]');"

el problema lo tengo en que es un grupo de campos de acf y tengo un data Picker y me da la la fecha de nacimiento cuando lo que busco es que me de la edad

he visto un código asi :

"function obtener_edad_segun_fecha($fecha_nacimiento)
{
$nacimiento = new DateTime($fecha_nacimiento);
$ahora = new DateTime(date("Y-m-d"));
$diferencia = $ahora->diff($nacimiento);
return $diferencia->format("%y");
}
// Probar
$fechas = ['2020-05-05', '1990-01-01', '1999-01-01', '2002-12-31'];
foreach($fechas as $fecha){
printf("Edad para %s: %d\n", $fecha, obtener_edad_segun_fecha($fecha));
}"

pero no tengo ni idea de si puedo implementar esto, gracias adelantadasMo

Contenido solo visible a usuarios registrados

Citar
Respondido : 28/06/2022 6:39 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Mari Angeles.

Por favor puedes adjuntar la URL de la pagina/entrada donde lo tienes implementado par que podamos revisarlo ?

 

Un saludo

ResponderCitar
Respondido : 28/06/2022 10:26 am

María Ángeles
 María Ángeles
Usuario activo

hola gracias, le pongo el enlace a la pagina, pero la tengo muy fea probando cosas https://https://www.axixtix.es/candidates/a1//candidates/a1/  estoy probando tambien haciendo con un código php en la misma pagina con que pasa es que con el Divi Builder es mas fácil de hacer para mi, gracias

ResponderCitar
Respondido : 28/06/2022 10:42 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Maria Ángeles.

Revisa lo siguiente:

-> https://www.philowen.co/blog/calculate-age-from-datepicker-field-in-acf/

 

Un saludo

ResponderCitar
Respondido : 28/06/2022 11:45 am

María Ángeles
 María Ángeles
Usuario activo

si he visto ese blog pero qu hago con ese código ???

ResponderCitar
Respondido : 28/06/2022 6:10 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Maria Ángeles, 

Entiendo que debes probar añadirlo en el function.php de tu tema o a través de un plugin como code snippets. De igual forma puedes revisar -> Contenido solo visible a usuarios registrados

Ten en cuenta realizar una copia de seguridad de tu sitio web antes de hacer cambios en el function, de esta forma si se genera algún error puedes restaurarla

Un Saludo 

ResponderCitar
Respondido : 28/06/2022 6:33 pm

María Ángeles
 María Ángeles
Usuario activo

@karen si pero no se exactamente como añadir ese código a function.php,  me refiero a la sintasis, si asi tal cual esta ese código o debo poner algo asi como function,xxxx

ResponderCitar
Respondido : 28/06/2022 8:51 pm
Bruno
 Bruno
Soporte CMS Webempresa Moderator

Que tal María Ángeles,

Los códigos que se hacen referencia en post como el siguiente deben ser incluidos en la estructura de la pagina donde se desee mostrar https://www.philowen.co/blog/calculate-age-from-datepicker-field-in-acf/

Esto previamente considerando que el campo personalizado en efecto existe y tenga el nombre del ejemplo o en su defecto modificar el nombre acorde al nombre del campo, por ejemplo

image

En este caso date_of_birth es el nombre del campo correspondiente, debes modificarlo al que corresponda en tu caso

Para hacer que funcione directamente con el constructor de Divi posiblemente sea necesario instaurar un codigo a medida y para estos casos podemos recomendarte a nuestros colaboradores que con gusto podran ver tu caso https://www.webempresa.com/directorio-colaboradores.html

Saludos!

ResponderCitar
Respondido : 28/06/2022 9:20 pm

María Ángeles
 María Ángeles
Usuario activo

@bruno-vichetti ese código me da error ¡¡¡

ResponderCitar
Respondido : 28/06/2022 9:49 pm
Bruno
 Bruno
Soporte CMS Webempresa Moderator

Hola María Ángeles,

Muéstranos como estas agregando el código, Si deseas agregar el código desde el maquetador visual puedes utilizar el modulo de código

image

Recuerda que no podemos garantizar que funcione si no lo has adaptado al campo correspondiente, también existe la posibilidad de que no se muestre de manera correcta ya que la plantilla en uso es desde el mismo maquetador y no codificada a medida.

Por ultimo vale la pena echarle un vistazo a la documentación de ACF donde muestran como por medio de shortcodes puedes mostrar elementos de campos personalizados

https://www.advancedcustomfields.com/resources/shortcode/

Saludos!

 

ResponderCitar
Respondido : 28/06/2022 10:28 pm

María Ángeles
 María Ángeles
Usuario activo

creo que necesito algo parecido a esto https://toolset.com/forums/topic/calculate-age-from-date-of-birth-custom-filed/#post-164510 , pero me da el mismo error que comenta  el usuario (Warning: A non-numeric value encountered in /home/axixtixe/public_html/axixtix.es/wp-content/themes/Divi-child02/functions.php on line 37

 

 

ResponderCitar
Respondido : 29/06/2022 8:14 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Maria Ángeles.

Por favor adjunta una captura donde estas añadiendo el código que te indique antes.

Ten en cuenta que ese código no lo puedes añadir en el archivo functions.

 

Un saludo

 

ResponderCitar
Respondido : 29/06/2022 11:30 am

María Ángeles
 María Ángeles
Usuario activo

hola Pepe, si pongo el código en el template si me sale, aqui se puede comprobar https://www.axixtix.es/candidatos/demo-tttt/

pero como se puede ver el la pagina tiene como dos partes la primera ( que si muestra la edad en años ) y la segunda que como se ve en el campo fecha nacimiento, que es el mismo campo de acf da la fecha en fecha, no en años: la segunda parte la hice con el editor de divi, ( que por mi falta de experiencia me resulta mas fácil editar) y es hay donde me gustaria que saliera para no tener que diseñar la plantilla de la pagina a mano con php . te adjunto donde lo el archivo que estoy trabajando (lo he comprimido porque parece que no me dejaba mandarlo con formato .php)

Muchas gracias, po su dedicacion

 

ResponderCitar
Respondido : 29/06/2022 1:50 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola María Ángeles.

pero me da el mismo error que comenta  el usuario

El código por lo que veo esta bien:

add_shortcode( 'time_ago', 'time_ago_func');
function time_ago_func($atts){
global $wpdb;
extract( shortcode_atts( array(
'birthdate' => '',
), $atts ) );

//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]));
$age = floor((time() - $birthdate)/(365*24*60*60));
return $age;
}

 

Luego tienes que añadir el ShortCode:

[time_ago birthdate='[types field="data-di-nascita" raw="true" id=""][/types]']

 

Tienes que modificar " data-di-nascita " por la etiqueta que utilices.

 

Ten en cuenta que es una consulta de código y en el foro no atendemos esta clase de consultas, puedes ponerte en contacto con un colaborador y te ayudaran a implementarlo:

-> https://www.webempresa.com/directorio-colaboradores.html

 

Un saludo

 

ResponderCitar
Respondido : 29/06/2022 3:18 pm

María Ángeles
 María Ángeles
Usuario activo

@pepesoler bueno creo que me va a tocar hacerlo sin el editor de divi porque cuando pongo el código , simplemente me sale el texto del código, he probado todo creo, supongo que el código primero lo debo poner en el template y el segundo introducirlo con código de divi 

ResponderCitar
Respondido : 29/06/2022 4:43 pm
Página 1 / 2