Skip Navigation

[Resuelto] convertir minutos ingresados en un campo a horas:minutos

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

This topic contains 5 respuestas, has 2 mensajes.

Last updated by Nigel hace 6 meses.

Assigned support staff: Nigel.

Autor
Mensajes
#2004645

Tell us what you are trying to do?
tengo un sitio con recetas que necesitan registrar el tiempo en horas y minutos. Pero necesito que la carga se haga en minutos y que esa información se convierta a horas:minutos en frontend (mm a hh:mm o similar).
La razón es que necesito que se pueda llevar el formato minutos al Google Schema para generar los snippets en las búsquedas de google, y la única manera de enviar la info a google es que el dato en la base esté en minutos.

Is there any documentation that you are following?
no

Is there a similar example that we can see?
no

What is the link to your site?
tajin.com/us

Gracias!

#2004765

Nigel
Supporter

Languages: Inglés (English ) Español (Español )

Timezone: Europe/London (GMT+01:00)

Buenos días

Si he entendido bien, lo que quieres es guardar un campo numérico (que representa minutos) pero mostrar tal campo en el formato hh:mm, ¿correcto?

Entonces un shortcode particular te servirá, ¿no?

Puedo ayudarte en este.

#2005203

Buenos días Nigel!
exacto, hoy tengo un campo que ingresa el texto (y los usamos para poner por ejemplo 1h 20min). Y eso nos limita bastante a la hora de generar el snipet para google. Si pudiésemos simplemente agregar los minutos y que en front lo interprete como HH:MM sería ideal. Realmente te agradecería mucho si me puedes proveer de este shortcode!

#2005289

Nigel
Supporter

Languages: Inglés (English ) Español (Español )

Timezone: Europe/London (GMT+01:00)

Aquí tienes un ejemplo, para registrar un shortcodes "horas":

add_shortcode('horas', function ($atts = [], $content = null) {

    $t = (int) $content;

    $h = intval( $t / 60 );
    $m = $t % 60;

    $content = sprintf( "%02dh:%02dm", $h, $m) ;

    return $content;
});

Se envolcra un campo de Types que muestra el valor del campo en minutos con el shortcode horas, así:

[horas][types field="campo-de-minutos"][/types][/horas]
#2005331

fantástico! solo una pregunta. El shortcode me queda claro como debo utilizarlo, pero la primera parte, el código, donde debería ubicarlo?

#2005375

Nigel
Supporter

Languages: Inglés (English ) Español (Español )

Timezone: Europe/London (GMT+01:00)

Puedes añadir el código en Toolset > Configuración > Código particular, en un nuevo fragmento, abajo de los comentarios, y tienes que recordar activar el fragmento.