Skip Navigation

[Resolved] Mostrar contenido en función de cuantas clases haya completado

This support ticket is created 5 years, 7 months ago. There's a good chance that you are reading advice that it now obsolete.

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.

No supporters are available to work today on Toolset forum. Feel free to create tickets and we will handle it as soon as we are online. Thank you for your understanding.

Sun Mon Tue Wed Thu Fri Sat
- 7:00 – 14:00 7:00 – 14:00 7:00 – 14:00 7:00 – 14:00 7:00 – 14:00 -
- 15:00 – 16:00 15:00 – 16:00 15:00 – 16:00 15:00 – 16:00 15:00 – 16:00 -

Supporter timezone: Europe/London (GMT+01:00)

This topic contains 5 replies, has 2 voices.

Last updated by Nigel 5 years, 7 months ago.

Assisted by: Nigel.

Author
Posts
#1115641
Captura de pantalla 2018-09-26 a las 13.17.18.png
Captura de pantalla 2018-09-26 a las 13.17.29.png

Buenas;
En este proyecto, se ofrecen videos de formación y queremos dar una recompensa cuando ves X videos, para controlar si han visto o no el video, hemos añadido un formulario que muestra un check, en caso de marcarlo guarda 1 y en caso de no estar marcado guarda 0, lo que queremos es que cuando un usuario sume 5 clases completadas mostrarle un logro ¿es correcta la forma en la que lo hago? ¿Es posible contar cuantos checks ha ido guardando un usuario y luego mostrar la recompensa?

#1115718

Nigel
Supporter

Languages: English (English ) Spanish (Español )

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

No es claro ¿a dónde pertenece este campo?

Se parece que es un campo de entrada (de clase), pero si es así ¿cómo se identifica el usuario?

Ó si es un formulario para editar el del usuario (y solo contiene este campo), no se puede agregar más que uno.

A mi, me parece que la solución sería añadir un formulario para editar el perfil del usuario que muestra solo el botón.

Al pinchar el botón y enviar el formulario, algún código que usa el API de Forms (en concreto, el hook cred_save_data) que incrementa un campo contador.

Puede ser que necesitas una solución un poco más sofisticado, que guarda también una lista de los IDs de las entradas marcadas para no contar si pinchan una entrada más que una vez, p.j.

https://toolset.com/documentation/programmer-reference/cred-api/#cred_save_data

#1115720

Este es un campo de clase, que se muestra a través de un formulario que se actualiza.

#1116527

Nigel
Supporter

Languages: English (English ) Spanish (Español )

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

Entonces ¿cómo se identifica el usuario?

Si es un campo de clase y es un checkbox, solo se puede guardar 'completada' una vez, no importa quien ha pinchado el checkbox, ¿no?

#1116530

Si... mientras lo he leído de nuevo me he dado cuenta que no está bien pensada esa forma, ¿como podría vincularlo al usuario? Debería ser un formulario del usuario?¿ Estoy un poco perdido con este tema...

#1117238

Nigel
Supporter

Languages: English (English ) Spanish (Español )

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

Hola Nando

Me queda poco tiempo hoy.

A ver, en breve lo haría así:

- registrar CPT "confirmaciones"
- crear relación one-to-one entre confirmaciones y clases

Una entrada de confirmación recuerda de una vez un usuario (el usuario corriente que sea autor de la entrada) ha visto un video (que supone el tipo de entrada es clase)

Entonces habrá falta un formulario para publicar confirmación (que incluye un campo de relación para recordar la clase, pero solo tiene visible un botón "marcar como visto").

Donde este formulario está insertado en una plantilla se puede usar el shortcode wpv-conditional para mostrar el formulario si ya no está marcado como visto, ó solo un botón desactivado "visto".

Finalmente se necesitará un View de condiciones con el usuario corriente como autor. En la salida puede publicar un contador, como logro si es más que 5.

Si necesitas ayuda en algún parte dime y volvemos a hablar el lunes.

This ticket is now closed. If you're a Toolset client and need related help, please open a new support ticket.