Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

256
Vistas
Actualizar el valor de InnerHTML (Echo PHP) al hacer clic en el botón

Todavía estoy en el nivel de principiante de WordPress y PHP. Ya estoy investigando en stackoverflow, pero debido a mi bajo nivel de comprensión, no puedo encontrar la solución para el problema que tengo.

Uso WordPress como CMS para mi sitio web. Uso PHP echo para mostrar el valor de calificación promedio de un complemento de revisión de usuario. Se muestra bien. Pero después de que un visitante inserta su propia calificación y hace clic en el botón Enviar, el valor de calificación promedio no se actualiza hasta que se actualiza la página. ¿Cómo actualizar automáticamente el valor de calificación promedio después de hacer clic en el botón Enviar sin tener que actualizar la página?

 <script type="text/javascript"> var userRating = <?php echo rmp_get_avg_rating( $postID ); ?> ; document.getElementById("div-rating").innerHTML = userRating; </script>

Esta es la clase de botón de envío creada por el complemento para activar el envío del usuario.

 rmp-rating-widget__submit-btn rmp-btn js-submit-rating-btn rmp-rating-widget__submit-btn--visible

Esta es la función de PHP que necesito hacer eco.

 public function load_results() { if ( wp_doing_ajax() ) { // array with vote count, ratings and errors $data = array( 'voteCount' => false, 'avgRating' => false, 'errorMsg' => '', ); $post_id = intval( $_POST['postID'] ); $nonce = isset( $_POST['nonce'] ) ? $_POST['nonce'] : false; // security check if( ! $post_id ) { $data['errorMsg'] = esc_html__( 'You cannot rate a web page without an id!', 'rate-my-post' ); echo json_encode( $data ); die(); } $nonce_check = $this->has_valid_nonce( $nonce ); if( ! $nonce_check['valid'] ) { $data['errorMsg'] = $nonce_check['error']; echo json_encode( $data ); die(); } $vote_count = rmp_get_vote_count( $post_id ); $sum_of_ratings = rmp_get_sum_of_ratings( $post_id ); $average_rating = rmp_calculate_average_rating( $sum_of_ratings, $vote_count ); if ( $average_rating ) { // post has been rated $data['voteCount'] = $vote_count; $data['avgRating'] = $average_rating; } else { // no ratings so far $data['voteCount'] = 0; $data['avgRating'] = 0; } echo json_encode( $data ); }; die(); }

Gracias por tu ayuda.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Sin actualizar la página web, puede tomar los datos en el servidor utilizando el objeto XMLHttpRequest en el lado del cliente. Puede encontrar muchas implementaciones (comoXMLHttpRequest , Fetch API ) que lo ayudan a comunicarse con el servidor desde el lado del cliente sin actualizar la página. Si desea utilizar una tecnología diferente ( Socket.io ), los sockets web pueden satisfacer sus necesidades en este problema.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda