Skip Navigation

[Waiting for user feedback] Sistema de puntuación

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.

Sun Mon Tue Wed Thu Fri Sat
- 9:00 – 12:00 9:00 – 12:00 9:00 – 12:00 9:00 – 12:00 9:00 – 12:00 -
- 13:00 – 18:00 13:00 – 18:00 13:00 – 18:00 13:00 – 18:00 13:00 – 18:00 -

Supporter timezone: America/Sao_Paulo (GMT-03:00)

This topic contains 2 replies, has 2 voices.

Last updated by Rafael Corts 1 week, 1 day ago.

Assisted by: Mateus Getulio.

Author
Posts
#2779344

Hola Níger, he creado una entrada de unos "artículos maquetas" para crear un ranking, y también he creado otra entrada de "Usuarios" par que puedan puntuar . He creado una elación de 1 a infinito para que un artículo pueda contabilizar las veces que los usuarios han votado. Pero ahora no sé cómo hacer para que pueda ir relacionando cada puntuación, la cuestión es que desde la entrada del usuario debería poder seleccionar la entrada "Artículo maquetas" y asín que incremente un voto más en la maqueta en cuestión.
Saludos.
Rafa Corts

#2779416

Mateus Getulio
Supporter

Languages: English (English )

Timezone: America/Sao_Paulo (GMT-03:00)

Hola Rafael,

Gracias por tu mensaje. Para implementar el sistema de votación entre los “Usuarios” y los “Artículos maquetas,” aquí tienes los pasos para configurarlo:

1. **Añadir un campo personalizado de votos**: Crea un campo numérico en “Artículos maquetas” para registrar la cantidad de votos.

2. **Configuración de la relación**: Asegúrate de que la relación uno-a-muchos entre “Usuarios” y “Artículos maquetas” esté correcta.

3. **Formulario de votación**: Crea un formulario para que los usuarios seleccionen un “Artículo maqueta” y voten.

4. **Incrementar el conteo de votos**: Añade este código en el archivo `functions.php` de tu tema para incrementar el conteo de votos cada vez que un usuario vote:

   add_action('cred_save_data', 'increment_vote_count', 10, 2);
   function increment_vote_count($post_id, $form_data) {
       // Reemplaza 123 con el ID de tu formulario de votación
       if ($form_data['id'] == 123) {
           // Obtiene el ID del "Artículo maqueta" seleccionado
           $related_article_id = toolset_get_related_post($post_id, 'relationship-slug'); // Reemplaza 'relationship-slug' con tu relación

           // Obtiene el conteo de votos actual
           $current_vote_count = get_post_meta($related_article_id, 'wpcf-vote-count', true); // Reemplaza 'wpcf-vote-count' con el slug del campo de votos

           // Incrementa el conteo de votos
           $new_vote_count = (int)$current_vote_count + 1;

           // Actualiza el conteo de votos en el "Artículo maqueta"
           update_post_meta($related_article_id, 'wpcf-vote-count', $new_vote_count);
       }
   }
   

5. **Mostrar el conteo de votos**: Para mostrar el número de votos en las páginas de “Artículos maquetas,” añade el shortcode

[types field='vote-count'][/types]

.

Esto permitirá que cada usuario seleccione un artículo y que el contador de votos se incremente automáticamente.

Si encuentras dificultades con esta configuración, también puedes explorar soluciones de terceros, como los plugins mencionados por mis colegas en temas anteriores: https://toolset.com/forums/topic/rating-system-where-users-have-to-log-insign-up/, por ejemplo, el **GD Rating System** o el **WP-PostRatings** (https://wordpress.org/plugins/gd-rating-system/). Si estas opciones no satisfacen completamente tus necesidades, puedes también considerar contratar a un desarrollador especializado a través de https://toolset.com/contractors/.

Espero que esto te ayude a configurar el sistema de puntuacion/votación que necesitas. Quedo atento para cualquier otra duda.

Saludos,
Mateus

#2779735

Hola Mateus, he aplicado todo lo que me has indicado, pero me surgen algunas dudas, por ejemplo, yo no tengo una sola entrada de "Artículo maqueta" entonces si substituyen el código el archivo "123" y pongo el, id del artículo, solo podre puntuar un solo articulo, entonces si el formulario lo implemento en cada una de la entrada de cada artículo, debería poder modificar la puntuación.
Ya he creado el formulario donde se pueda modificar el valor para aumentar la puntuación, pero no me funciona, no sé si se podría hacer de otra manera.
Crear un listado "view" donde aparezcan todos los artículos que se pueden votar y dentro del bucle, de cada artículo poner un pequeño formulario con un checkbox para marcar el voto. Cada vez que seleccionamos el checkbox incrementará la puntuación de la entrada seleccionada.
Saludos.
Rafa Corts