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
Hola Mari Angeles.
Por favor puedes adjuntar la URL de la pagina/entrada donde lo tienes implementado par que podamos revisarlo ?
Un saludo
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
Hola Maria Ángeles.
Revisa lo siguiente:
-> https://www.philowen.co/blog/calculate-age-from-datepicker-field-in-acf/
Un saludo
si he visto ese blog pero qu hago con ese código ???
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
@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
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
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!
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
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!
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
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
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
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
@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